OS/Linux - Ubuntu

[Linux - 리눅스 / Ubuntu - 우분투] 파일 기본 접근 권한 설정 - umask

주누다 2015. 2. 19. 23:44
반응형

기본 접근 권한

- 파일이나 디렉터리를 생성할 때 기본 접근 권한이 자동으로 설정됨.

- 파일의 경우 소유자는 읽기와 쓰기 권한이 설정 / 그룹과 기타 사용자는 읽기 권한만 설정

- 디렉터리의 경우 소유자는 읽기, 쓰기, 실행 권한이 설정 / 그룹과 기타 사용자는 쓰기, 실행 권한만 설정


기본 접근 권한 확인 및 변경(umask)

 umask

- 기능 : 기본 접근 권한을 출력하거나 변경

- 형식 : umask [옵션] [마스크값]

- 옵션 : -S : 마스크 값을 문자로 출력

- 사용 예 : umask 022, umask

- 아무 인자 없이 'umask' 만 사용시 현재 설정된 기본 마스크 값 출력

- '0022' 에서 맨 앞의 값은 특수 권한 설정 관련. '022' 처음에 기본 접근 권한 값. 


마스크 값의 의미

- 마스크 값은 파일이나 디렉터리 생성시 부여하지 않을 권한을 지정해 놓은 것.

- '마스크(Mask)'의 원래 의미가 일부분을 가리는 기능.

- 마스크 값이 '022'일 경우, 접근 권한의 숫자 모드로 해석시 '----w--w-' 이고

 이는 그룹과 기타 사용자에게 쓰기 권한을 부여하지 않겠다는 뜻.

- 'umask -S' 옵션을 적용하여 확인시 정확하게 확인 가능

user@ubuntu:~/ch5$ umask -S

u=rwx,g=rx,o=rx

user@ubuntu:~/ch5$ 


마스크 값 변경하기

- 'umask'로 마스크 값을 변경시 파일이나 디렉터리를 생성할 때 적용되는 기본 접근 권한도 바뀜

user@ubuntu:~/ch5$ umask 077

user@ubuntu:~/ch5$ umask

0077

user@ubnutu:~/ch5$ touch test.txt

user@ubuntu:~/ch5$ ls -l

-rw------- 1 user user 0 2월 19일 11:44 text.txt

user@ubuntu:~/ch5$


마스크 값 적용 과정

- 마스크 값은 파일이 생성될 때마다 적용

- 마스크 값을 비트로 표시시 그 값이 '1'인 경우 권한 제외

 요청 권한

 마스크 

 부여된 권한 

1

1

- 마스크 값이 1일 경우 그 권한이 부여되지 않음.

- 일반 파일의 최대 접근 권한은 666(rw-rw-rw)

- 현재 마스크 값이 '022'일경우 '666'과 '022'를 마스킹하면 결과는 644

- 디렉터리의 경우 최대 접근 권한은 777

- '022'를 마스킹시 기본 접근권한은 755가 됨.


마스크 값 계산 방법

- 권한은 8진수로 해석하여 적용.

- 8진수 접근 권한으로 해석하여 계사해야함.

ex)

 마스크 값

 일반 파일 

 디렉터리 

 의미 

002 

664 

775 

기타 사용자는 읽기만 가능

077 

600 

700 

그룹과 기타 사용자의 접근 권한을 모두 제거 

027 

640 

750 

그룹은 읽기와 실행만 가능. 기타 사용자의 접근 권한은 모두 제거 

- 'umask' 로 마스크 값을 바꿀 때 파일과 디렉터리에 모두 적용시켜 확인해야함.

- 마스크 값이 파일에는 적합하지만 디렉터리에는 적합하지 않을수도 있기 때문.




반응형