chmod 명령어를 이용한 파일 권한 설정

|

보통 리눅스/유닉스에서 파일의 읽기/쓰기 등의 권한 설정을 할 때 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로 바꾸겠다는 뜻입니다.