Linux 명령어 | 파일 관리 | chmod 파일/디렉토리 권한 변경


리눅스/UNIX 권한

리눅스/UNIX 권한은 10자리로 표현된다.

예를들면, ls -lrt 명령어로 디렉토리 파일을 확인해 보면 다음과 같이 볼 수 있다.

% ls -lrt
total 8
-rwxrw-r--   1 kimkc  staff   37  5 13 08:40 README
drwxr-xr-x   8 kimkc  staff  256  5 13 08:40 java--tutorial

10자리의 의미를 알려면 “1자리/3자리/3자리/3자리"로 나누어서 보면 된다.

  • 디렉토리(1자리)
  • 소유자 권한(2~4자리)
  • 그룹 권한(5~7자리)
  • 전체 권한(8~10자리)

우리가 확인해야 할 볼 권한 부분은 앞에 drwx로 되어 있는 부분이다.

  • r : 읽기권한
  • w : 쓰기권한
  • x : 실행권한

다시 예제를 보고 확인해 보도록 하자.

  • 첫번째자리 d(디렉토리), -(파일)을 뜻한다. 즉, 예제에서 1개는 디렉토리이고 1개는 파일이다.
  • 두번째자리 3개(소유자 권한) rwx : 소유자 권한이 읽기/쓰기/실행 권한이 있다는 것을 뜻한다.
  • 세번째자리 3개(그룹 권한) rw- : 그룹 권한은 읽기/쓰기 권한만 있다는 것을 뜻한다.
  • 네번째자리 3개(전체 권한) --r : 전체권한은 쓰기 권한만 있다는 것을 뜻한다.

chmod 명령어

파일의 권한을 변경한다. chmod는 change mode의 약자이다.

r/w/x 권한을 각각 숫자로 표현하면 4/2/1 이다. (단순 덧셈으로 각 부분의 권한을 주게 된다.)

  • 7/7/7 => 소유자 권한/그룹 권한/전체 권한. (7이라는 숫자는 단순 덧셈 4+2+1 이다.)

위에 예제로 예를 들면 chmod 777 README 실행을 하게 되면 , README 파일 권한이 -rwxrwxrwx(777)으로 변경되게 된다.

사용법

chmod [option (ex.744)] [변경할 파일 위치/이름]
  1. 권한은 숫자로 표현되며 읽기(4), 쓰기(2), 실행(1)으로 나뉜다.
  2. 읽고쓰기=4+2=6, 읽고실행=4+1=5, 쓰고실행=2+1=3, 읽고쓰고실행=4+2+1=7
  3. 권한은 총 3구역으로 설정되며, 나 / 내가 속한 그룹 / 다른 그룹 으로 나뉜다.
  4. 나는 읽고 / 내가 속한 그룹은 쓰고 / 다른 그룹은 실행 = 421