chmod
chmod 명령은 UNIX와 유닉스 계열 시스템(리눅스, macOS 등)에서 파일이나 디렉터리의 접근 권한을 변경하는 데 사용된다. chmod는 'change mode'를 뜻하고 파일이나 디렉터리에 대해 읽기(read), 쓰기(write), 실행(execute) 권한을 설정할 수 있다.
chmod 명령에서 사용하는 권한 값
- 읽기(r): 파일의 내용을 읽을 수 있는 권한, 디렉터리의 경우 내용을 볼 수 있는 권한.
- 쓰기(w): 파일의 내용을 수정할 수 있는 권한, 디렉터리의 경우 파일을 생성하거나 삭제할 수 있는 권한.
- 실행(x): 파일을 실행할 수 있는 권한, 디렉터리의 경우 디렉터리 내로 이동할 수 있는 권한.
chmod 명령의 세 자리 숫자
chmod 명령에서 세 자리 숫자는 각각 파일이나 디렉토리의 소유자(user), 그룹(group), 그리고 다른 모든 사용자(others)에 대한 권한을 설정한다. 각각의 자리는 0부터 7까지의 숫자를 사용하여 설정할 수 있는데, 이 숫자들은 각각 읽기, 쓰기, 실행 권한의 합으로 계산된다.
- 첫 번째 숫자: 파일이나 디렉토리의 소유자(user)에 대한 권한
- 두 번째 숫자: 파일이나 디렉토리와 같은 그룹(group)에 속한 사용자들에 대한 권한
- 세 번째 숫자: 소유자나 그룹에 속하지 않는 다른 모든 사용자(others)에 대한 권한
각 숫자는 다음과 같은 권한을 나타낸다.
- 0: 권한 없음
- 1: 실행 권한
- 2: 쓰기 권한
- 3: 쓰기 및 실행 권한 (2+1)
- 4: 읽기 권한
- 5: 읽기 및 실행 권한 (4+1)
- 6: 읽기 및 쓰기 권한 (4+2)
- 7: 읽기, 쓰기 및 실행 권한 (4+2+1)
예를 들어, chmod 754 file 명령은 다음과 같은 권한 설정을 의미한다.
- 소유자(user)에게는 읽기(4), 쓰기(2), 실행(1) 권한을 모두 부여 (합계 7).
- 그룹(group)에 속한 사용자들에게는 읽기(4)와 실행(1) 권한을 부여 (합계 5).
- 다른 모든 사용자(others)에게는 읽기(4) 권한만 부여 (합계 4).
이 권한 설정은 파일 소유자가 파일을 자유롭게 수정하고 실행할 수 있도록 하면서, 그룹 사용자는 파일을 읽고 실행할 수 있게 하고, 그 외의 사용자들은 파일을 오직 읽을 수만 있게 하는 것을 목표로 한다.
자주 쓰이는 chmod 설정
- chmod 400 file: 파일 소유자는 파일을 읽을 수 있지만, 나머지 사용자는 어떠한 권한도 가지지 못한다. 개인 키 파일과 같은 민감한 데이터에 쓰인다.
- chmod 600 file: 파일 소유자만 파일을 읽고 쓸 수 있다. 설정 파일과 같은 중요한 데이터에 쓰인다.
- chmod 644 file: 파일 소유자는 읽고 쓸 수 있고, 나머지 사용자는 읽기만 할 수 있다. 일반 문서나 웹 페이지 파일에 사용된다.
- chmod 700 file: 파일 소유자만 읽고, 쓰고, 실행할 수 있다. 사용자만 사용할 수 있는 스크립트나 프로그램에 적합하다.
- chmod 755 file: 파일 소유자는 모든 권한을 가지고, 나머지 사용자는 읽고 실행할 수 있다. 이 설정은 공개적으로 사용되는 실행 파일에 적합하다.
'practical' 카테고리의 다른 글
Docker build 시 exec /app/entrypoint.sh: no such file or directory 에러 (1) | 2023.11.27 |
---|---|
Docker 컨테이너 모범사례 (1) | 2023.11.19 |