유닉스 계열의 운영체제에서는 파일과 디렉토리에 권한을 부여하고 조정할 수 있습니다. 권한을 부여하는 명령어의 구조는 다음과 같습니다.
chmod [옵션] [권한 대상][연결 기호][권한 구조] [파일 또는 디렉토리]권한의 구조¶
파일에 대한 권한은 읽기(r), 쓰기(w), 실행(x)으로 나뉩니다. 각각의 권한은 이진수 표기법에 따라 1, 10, 100으로 표현되며, 이를 십진수로 변환하면 각각 1, 2, 4로 표현할 수 있습니다. 따라서 어떤 유저에게 어떤 권한이 있는지를 r, w, x로도 표현할 수 있고, 숫자로도 표현할 수 있습니다.
| 기호 | 의미 | 숫자 |
|---|---|---|
| r | 읽기 권한 (read) | 4 |
| w | 쓰기 권한 (write) | 2 |
| x | 실행 권한 (execute) | 1 |
디렉토리 내에 있는 파일을 리스트를 출력하면 해당 파일의 주인(owner)이 누구인지, 주인 그룹(group)이 누구인지와 함께, 각각 사용자에 대한 권한이 알파벳 형태로 표시됩니다. 만약 권한이 없는 경우에는 ‘-’ 기호로 나타납니다.
권한의 대상¶
| 기호 | 의미 |
|---|---|
| u | 사용자 |
| g | 그룹 |
| o | 기타 사용자 |
| a | 모든 사용자 (all) |
u를 입력하면 명령어를 입력하는 사용자의 권한만 조정한다는 의미이고, g는 같은 그룹에 속한 사용자들의 권한을 조정한다는 의미입니다. o는 그 외의 모든 사용자를 의미하며, a는 u, g, o를 모두 포함하는 의미입니다. a를 입력하지 않고 chmod 명령어를 사용하면 기본적으로 u, g, o 모두에 적용됩니다.
옵션의 종류¶
chmod 명령어의 옵션은 다음과 같습니다.
| 옵션 | 의미 |
|---|---|
| -R | 재귀적으로 디렉토리와 그 하위 파일 및 디렉토리에 적용 |
| -f | 오류 메시지 무시 |
| -v | 적용된 변경 사항 출력 |
| -h | 심볼릭 링크에 적용 |
| -L | 심볼릭 링크를 따라가서 대상에 적용 |
따라서, 디렉토리 및 그 하위 파일에 대한 권한을 조정하기 위해서는 -R 옵션을 사용해야 합니다.
연결 기호¶
권한 대상과 권한 구조 사이의 연결 기호는 다음 종류가 있습니다.
| 기호 | 의미 |
|---|---|
| + | 권한 추가 |
| - | 권한 제거 |
| = | 권한 설정 |
예시¶
chmod u+rwx file.txt명령어를 입력하는 사용자(u)에게 file.txt 파일에 대한 읽기(r), 쓰기(w), 실행(x) 권한을 부여합니다.
chmod go-rwx file.txt명령어를 입력하는 사용자의 그룹(g)과 기타 사용자(o)에게 file.txt 파일에 대한 읽기(r), 쓰기(w), 실행(x) 권한을 제거합니다.
chmod +x file.txt모든 사용자에게 file.txt 파일에 대한 실행(x) 권한을 부여합니다.
chmod -R u+w my_directorymy_directory 디렉토리와 그 하위 파일 및 디렉토리에 대해 명령어를 입력하는 사용자(u)에게 쓰기(w) 권한을 부여합니다.