chmod 명령어를 이용한 파일 권한 설정
10 Mar 2016 | 리눅스 명령어보통 리눅스/유닉스에서 파일의 읽기/쓰기 등의 권한 설정을 할 때 chmod
명령어를
사용합니다. 보통 모든 권한을 줄 때 chmod 777 [이름]
를 입력합니다.
리눅스에서 권한은 총 10자리로 표시됩니다. ls -al
명령어를 이용하여 다음과 같이
권한을 확인할 수 있습니다.
drwxr-xr-x 4 root root 4096 2011-03-12 14:58 .
drwxr-xr-x 7 root root 4096 2011-03-12 15:37 ..
drwxr-xr-x 2 root root 6364 2011-03-12 14:32 CSC
-r-xr-xr-x 1 root root 23110 2011-03-12 14:32 build.sh
여기서 맨 앞부분에 있는 drwxr-xr-x
와 같은 부분이 권한 표시 부분입니다.
각각의 알파벳들은 다음과 같은 권한을 의미합니다.
- d : 디렉토리 구분 (d이면 디렉토리, -이면 파일)
- r : 읽기 권한
- w : 쓰기 권한
- x : 실행 권한
그리고 맨 앞자리는 디렉토리인지 아닌지 여부, 그 다음 각 3자리씩은 소유자 권한, 그룹 권한, 전체 권한을 표현하고 있습니다.
즉,
d | rwx | r-x | r-x |
---|---|---|---|
디렉토리 | 소유자 권한 | 그룹 권한 | 전체 권한 |
를 나타냅니다.
리눅스에서 권한 설정은 chmod
명령어를 이용하면 변경할 수 있습니다.
예를 들어 chmod 777 snowdeer
라고 할 때, 777
이라는 값은 다음과 같은 규칙을
갖고 있습니다. 권한을 나타내는 rwx 각각은 r(4), w(2), x(1)의 값을 가지고 있습니다.
즉, r + w + x의 값은 7이 됩니다.
결국 777은 소유자, 그룹, 전체 권한을 모두 rwx로 바꾸겠다는 뜻입니다.