접근 권한 변경(chmod)

- chmod 명령: 기존 파일 또는 디렉토리에 대한 접근 권한(파일 모드)을 변경할 때 사용

- 파일 모드의 변경은 파일 소유자나 슈퍼 유저만 가능

- 파일 모드는 기호(문자)나 8진수로 지정


1. chmod 명령 도움말

- 주요 옵션

 옵 션

 설 명

 -R

 하위 디렉토리와 파일의 권한 까지 변경 (동일 권한을 디렉토리와 파일에 지정)


2. 접근 권한을 기호(문자)로 표현

- 문자 표기법은 변경할 사용자(대상), 수행할 명령(연산), 설정할 퍼미션(접근 권한) 세 부분으로 분류됨

- 다른 대상의 속성을 건드리지 않고 한 대상 속성만을 설정할 수 있는 장점을 가짐

- 복수 지정은 콤마(,)를 사용하여 구분

 구 분

 기 호

 설 명

 사용자

(대상)

 u

 user의 약자, 파일이나 디렉토리 소유자를 의미

 g

 그룹 소유자

 o

 others의 약자, 기타 사용자를 의미

 a

 all의 약자, u,g,o의 조합

 

 아무 문자를 사용하지 않으면 all로 추정

 수행할 명령

(연산)

 +

 추가

 -

 제거

 =

 지정, 기존의 속성 값은 사라짐

 설정할 퍼미션

(접근 권한)

 r

 읽기

 w

 쓰기

 x

 실행


- 사용 예시

 표기법

 의 미

 u+x

 소유자에게 실행 권한을 추가

 u-x

 소유자의 실행 권한 제거

 +x

 모든 사용자(소유자, 그룹, 기타사용자)에게 실행 권한 추가

 o-rw

 기타사용자의 읽기, 쓰기 권한 제거

 go=rw

 그룹, 기타사용자에게 읽기, 쓰기 권한 지정, 이전에 실행 권한을 가지고 있다면 제거됨

 u+x,go=rw

 소유자에게 실행권한을 추가하고 그룹, 기타 사용자에게 읽기, 쓰기 권한 지정

 a=rw

 모든 사용자에게 읽기, 쓰기 권한 지정

 g-w 그룹 소유자의 쓰기 권한 제거

 g+w,o-x

 그룹 소유자에게 쓰기 권한 추가, 기타 사용자의 쓰기 권한을 제거


3. 접근 권한을 8진수로 표현

- 원하는 파일의 접근 권한을 설정하기 위해 8진수 표기법을 사용

- 3자리의 8진수로 소유자, 그룹 소유자, 기타 사용자를 위한 파일 모드를 설정할 수 있음

- r(읽기, 4), w(쓰기, 2), x(실행, 1)

- 2진법과 8진법의 파일 모드

 8진법

 2진법

 파일 모드

 0

 000

 ---

 1

 001

 --x

 2

 010

 -w-

 3

 011

 -wx

 4

 100

 r--

 5

 101

 r-x

 6

 110

 rw-

 7

 111

 rwx


4. chmod 사용 예시


소유권 또는 그룹 변경(chown / chgrp)

- 파일이나 디렉토리의 소유주나 그룹을 변경할 때 사용

- 명령을 실행하고 나면 파일에 대한 이전 소유주는 해당 파일에 이 명령을 다시 실행할 수 없음

- 명령어를 사용하기 위해서는 슈퍼유저 권한이 필요함(보안의 특성상 슈퍼유저만 사용)


1. 파일 소유자와 그룹 변경(chown)

1) chown 명령어 도움말


- 주요 옵션

 옵 션

 설 명

 -h

 심볼릭 링크 파일 자체의 소유주나 그룹을 변경

 -R

 하위 디렉토리와 디렉토리 하위의 모든 파일의 소유주를 변경


2) chown 명령어 사용 예시


2. 그룹 소유권 변경(chgrp)

- UNIX의 이전 버전에서는 chown 명령어가 그룹 소유권이 아닌 파일 소유권만 변경할 수 있었음

- chgrp 명령어: 그룹 소유권을 변경하기 위한 독립된 명령어

1) chgrp 명령어 도움말


- 주요 옵션

 옵 션

 설 명

 -h

 심볼릭 링크 파일 자체의 그룹 소유권 변경

 -R

 하위 디렉토리와 디렉토리 하위의 모든 파일의 그룹 소유권 변경


2) chgrp 명령어 사용 예시


접근 권한 마스크(umask)

- chmod 명령: 기존 파일의 접근 권한을 변경할 때 사용, 8진수로 지정하는 접근 권한은 해당 파일이 가져야 할 권한을 명시함

- umask 명령: 앞으로 만들어질 파일에 영향을 미치는 명령, 명령으로 지정한 8진수는 새로 만들어질 파일에서 제거될 권한을 명시


1. 접근 권한 기본 값(파일과 디렉토리 생성시 접근 권한, 단, umask로 지정한 값은 기본값에서 제거)

- 일반(정규) 파일; 666(rw-rw-rw-) - umask로 지정한 값

- 디렉토리: 777(rwxrwxrwx) - umask로 지정한 값


2. umask 값 설정

- 시스템 관리자는 /etc/profile 파일에 umask를 지정하여 시스템 전체 사용자에게 획일적인 umask값을 적용 가능

- 보통 group과 other의 쓰기권한에 제한을 두는 022를 많이 사용


3. umask 명령어 사용 예시