2005/12/06

리눅스에서 Umask 설정에 관해서

리눅스에서 Umask 를 사용할땐 주의해야 한다.

기본적으로 umask을 이용해 파일이 생성될땐 허가권의 반대로 설정을 하게 된다.
설정 확인은 다음과 같이 한다.

$ umask -S

출력결과 : u=rw,g=rwx,o=rwx

물론 위의 결과대로라면 다음과 같은 권한을 가진 파일이 만들어져야 한다.

-rw-rwxrwx 1 shlee shlee 0 2005-12-06 19:00 1

퍼미션에 대한 자세한 설명은 유닉스 퍼미션에 관한 서적이나 내용을 참조하기 바란다.

그런데 파일을 만들면 다음과 같은 파일이 만들어진다.

-rw-rw-rw- 1 shlee shlee 0 2005-12-06 20:01 4

그 이유는 기본적으로 셸이 파일을 만들땐 777 mask를 가지지 않고 0666 이라는 마스크를 가지기
때문이다.

이 때문에 다음과 같은 공식이 성립한다.
0666 & ~022 = 0644 = rw-r--r--

박스1 : 022는 umask의 기본값이다.

그때문에 기본값인 022은 666에서 022을 뺀 결과인 644(-rw-r--r--)을 가지게 된다.

처음엔 파이썬 공부를 하다가 일일이 chmod로 권한을 조정하는게 귀찮아서 조금 건드려보다가
알게된 사실인데, 혹시 까먹을까 두려워서 적어둔다.

댓글 없음: