umask란 파일이나 디렉토리가 생성될때의 기본권한을 지정하는 값이다.

umask명령어라는 명령어도 현재 설정되어 있는 umask값의 확인 및 변경이 가능하다.

#umask명령어에 의하여 변경된 umask값은 새로 로그인을 하면 초기화된다.

/etc/bashrc파일의 umask값을 지정하는 부분을 수정하면 다시 로그인을 하여도 값이 초기화되지 않는다.

 

-. umask를 이용한 파일과 디렉토리의 권한구하기

umask값이란 모든 계정사용자들에게 존재하는 값으로서 각 계정사용자들이 생성하는 파일 또는 디렉토리의 퍼미션을 결정하기 위한 MASK값이다.

umask값에 의하여 생성된 파일과 디렉토리의 권한은 다음과 같다.
 

umask값

000

001

002

022

생성되는 파일 권한

666

666

664

644

생성되는 디렉토리 권한

777

776

775

755


umask값과 666을 2진수로 XOR연산을 하면 파일의 권한을 알수 있으며

umask값과 777을 2진수로 XOR연산을 하면 디렉토리의 권한을 알수 있다.

 

>umask값 002에 대한 파일과 디렉토리의 권한값구하기

110 110 110 = 666 : 파일비교기본값

000 000 010 = 002 : umask

110 110 100 = 664 : 파일 퍼미션

 

111 111 111 = 777 : 디렉토리비교기본값

000 000 010 = 002 : umask

111 111 101 = 775 = 디렉토리 퍼미션

※ XOR란 입력된 값이 같으면 0, 입력된 값이 다르면 1을 출력한다.

 

-. umask변경 및 확인

앞에서도 말했지만 umask값은 umask명령어를 이용하여 확인 및 변경이 가능하다.

>umask값 확인하기

umask값을 확인하는 방법은 2가지가 있다.

umask 명령어만 사용하여 mask값으로 보기, 또는

umask -S옵션을 사용하여 실제 파일 및 디렉토리가 생성될때 어떤 권한을 갖게 되는지를 직접 보는 방법이 있다.

[root@os1 /]# umask

0022

[root@os1 /]# umask -S

u=rwx,g=rx,o=rx


위의 출력결과를 보면

umask값이 0022일때

umask값에 의하여 생성된 디렉토리의 권한은 소유자=rwx, 소유그룹=rx, 일반사용자=rx 이며,

umask값에 의하여 생성된 파일의 권한은 소유자=rw, 소유그룹=r, 일반사용자=r 임을 알수 있다.

※ umask값에 의해 생성된 파일은 실행권한을 절대 가질수 없다.

즉, 현재 umask값에 의하여 파일이나 디렉토리가 생성될때 어떤 권한을 갖는지를 바로 보려면 -S옵션을 사용하면 된다.

 

>umask값 변경하기

umask값 변경은 상당히 간단하다

그냥 umask명령어 뒤에 umask값을 주기만 하면 된다.

[root@os1 /]# umask

0022

[root@os1 /]# umask 000

[root@os1 /]# umask

0000

[root@os1 /]# umask 001

[root@os1 /]# umask

0001

 

-. umask값에 의하여 생성된 파일과 디렉토리 확인

>umask값이 0022일 경우 생성된 파일과 디렉토리

[root@os1 /]# umask

0022

[root@os1 /]# touch newfile

[root@os1 /]# mkdir newdir

[root@os1 /]# ls -l | grep new

drwxr-xr-x 2 root root 4096 2013-01-18 08:17 newdir

-rw-r--r-- 1 root root 0 2013-01-18 08:17 newfile

umask값에 의하여 생성된 파일과 디렉토리를 확인해보면

디렉토리의 권한은 755이며, 파일의 권한은 644임을 알수 있다.

 

>umask값이 0001일 경우 생성된 파일과 디렉토리

[root@os1 /]# umask

0001

[root@os1 /]# touch newfile

[root@os1 /]# mkdir newdir

[root@os1 /]# ls -l | grep new

drwxrwxrw- 2 root root 4096 2013-01-18 08:23 newdir

-rw-rw-rw- 1 root root 0 2013-01-18 08:23 newfile


umask값에 의하여 생성된 파일과 디렉토리를 확인해보면

디렉토리의 권한은 776이며, 파일의 권한은 666임을 알수 있다.

[출처] http://blog.naver.com/dudwo567890/130157100818