리눅스에서 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로 권한을 조정하는게 귀찮아서 조금 건드려보다가
알게된 사실인데, 혹시 까먹을까 두려워서 적어둔다.
댓글 없음:
댓글 쓰기