출처: http://coffeenix.net/doc/_mirror/async.kjist.ac.kr/shell/node13.html

 

 

umask를 이용해보자

 

지금까지 파일의 권한을 설정하는 방법에 대하여 알아보았다. 그렇다면, 이제 한가지 의문이 들지 않는가? 새로운 파일을 생성할 때마다 알맞는 권한으로 일일이 다 설정을 해주어야하는가? 특히나, 일반적으로 설정하는 권한이 동일한 경우에는 더더욱 귀찮은 작업이 될 것이다. 이러한 문제를 해결하기 위해서 쉘에서는 umask라는 명령어가 제공된다.

umask 명령어의 일반적인 형태는 다음과 같다.

 

umask nnn

 

위에서 nnn은 000 부터 777 까지의 숫자를 의미한다. umask의 설정은 일반적으로 /etc/profile에서 설정하여 시스템의 전체를 기본 설정하거나 개인적으로 설정을 원할 경우에는 .profile이나 혹은 .bashrc (Bash 쉘을 이용할 경우)나 .cshrc (C 쉘을 이용할 경우) 등 자신이 사용하는 쉘의 환경 파일에 등록을 해두면 로그인과 동시에 설정이 되어 편리하게 이용할 수 있다.


 

자, 그럼 umask를 어떻게 사용하는지 알아보자. umask 명령어를 사용할 때 함께 사용한 숫자는 팔진수의 보수(complement)로써 파일과 디렉토리에 작용한다. 단, 알아두어야 할 것은 유닉스 시스템에서는 기본적으로 파일이 실행 권한('x')을 갖고 생성되지 못하도록 한다는 점이다. 디렉토리의 경우에는 실행 권한이 그 디렉토리의 접근 권한을 나타내는 것이기 때문에 실행 권한을 생성과 동시에 가질 수 있다. 다음의 표는 umask의 명령으로 설정된 파일과 디렉토리의 권한을 나타낸 것이다.

 


Table 2.2: umask permission table
umask File Directory
0 6 7
1 6 6
2 4 5
3 4 4
4 2 3
5 2 2
6 0 1
7 0 0


 

 

다음의 예를 보면서 이해를 해보자.

 

umask 명령 권한 모드
(숫자) File Directory
077 rw- --- --- (600) rwx --- --- (700)
007 rw- rw- --- (660) rwx rwx --- (770)
022 rw- r-- r-- (644) rwx r-x r-x (755)

 

 

 

+ Recent posts