Umask 값 한번 확인해 주세요

어제 파티션 재조정하다 새로 Daily 받아다가 깔았는데,
그 전에는 umask 값이 0022로 적용되었는데 지금은 0002로 적용되어 나오네요.
설치시에 그래픽 문제가 있어서, 텍스트 모드로 들어가서 업데이트 하고나서 정상적으로 사용했습니다.

구글링해보니 우분투 기본 umask가 유저는 0002 루트는 0022가 맞다고 하던데,
기억에 파일 만들면 0002가 적용되지 않았고,
다른 게시물에 제가 올린 글들에서도 분명히 0022가 적용되어 있더군요.
한번 umask와 touch시에 퍼미션이 어떻게 나오는지 부탁 좀 드릴께요.

[code:1kb272go] $ umask
0002
$ touch test
$ ls -l test
-rw-rw-r-- 1 oseb oseb 0 Jan 4 09:33 test
[/code:1kb272go]

umask는 생성시 권한에 대한 마스크입니다.
파일에 대해서는
umask 002는 664, 022는 644에 해당하며,
디렉토리에서는
umask 002는 775, 022는 755에 해당합니다

그런데… 버뜨, 실제 umask 002와 umask 022 한 후의 touch 결과는 같습니다.
그래서 살펴보았더니, pam이 거기에 관여하고 있더군요.

umask는 /etc/profile 파일에 정의되나, pam_umask를 사용한다고 나오고,
역추적해보니, /etc/login.defs에 설정되어 있었습니다.

USERGROUPS_ENAB yes
이렇게 설정되어 있을 경우, ID와 GROUP이 동일 번호, 동일 이름을 사용하는경우,
즉, 일반 사용자의 경우, pam이 관여해서, 권한을 GROUP까지 확장하게 됩니다.

UMASK 022 설정에 의해, 실제 사용될 UMASK는 002로 변합니다.

그래서, umask 002나 umask 022가 같은 결과가 나오는 것입니다.
다만, 이것은 일반 사용자의 경우에 한하기에, root는 적용이 안됩니다.

오… 이렇게 자세하게 설명해 줘서 정말 고맙습니다.
언급한 login.defs를 살펴보니 yes도 되어있고 주석에도 002로 적용된다고 해 놓은 걸 다시 확인했습니다.

음… 사용자 계정으로 umask touch 해보니 같게 나왔었군요.
처음 계정 만들때 생기는 .profile .bash_logout 같은 skeleton 파일들은 chmod 644로 되어 있고,
로그인 후 앱 실행하면서 생기는 건 chmod 664로 나와 막 섞여져 있네요. -_-;

pam까진 아직 모르는데 커널이 3.12.0.8로 나오면서 뭔가 영향을 준건지 알았는데 그게 아니었네요.
지금 받아본 saucy에 들이었는 login 패키지의 login.defs 파일에도 USERGROUPS_ENAB yes로 되어 있군요.
쓰는게 개발 버전이라서 생긴 일시적 현상 같기도 하고 좀 시간이 지나봐야 겠습니다.