umask는 디렉토리에 적용되지 않습니다

umask는 디렉토리에 적용되지 않습니다

umask에 이상한 문제가 있습니다. 내 현재 설정은 다음과 같습니다

$ umask
0022
$ umask -S
u=rwx,g=rx,o=rx

그러나 이것은 디렉토리가 아닌 파일에만 작동합니다.

$ touch abc
$ ll abc
0 -rw-rw-rw- 1 user1 group1 0 Dec 12 11:39 abc
$ mkdir def
$ ll -d def
8.0K drwxrwxrwx+ 2 user1 group1 4.0K Dec 12  2012 def

이 디렉토리에서 umask가 작동하지 않는 이유를 제안할 수 있는 사람이 있습니까? 도움을 주시면 감사하겠습니다!

이것은 새로운 Centos Linux 시스템입니다.

편집: 귀하의 의견에 감사드립니다. 일부 사람들이 지적했듯이 이것은 파일에서도 작동하지 않습니다.

추가 정보: 이 문제는 로컬 디렉토리가 아닌 NFS를 통해 마운트된 홈 디렉토리에서만 발생하는 것으로 보입니다. NFS가 어떤 식으로든 문제를 일으킬 수 있습니까?

답변1

귀하의 문제는 여기에도 액세스 제어 목록을 적용한다는 것입니다. 디렉토리에 주의하세요, def? 뒤에는 "+"가 있는데 이는 ACL여기에도 권한이 적용된다는 의미입니다. 디렉터리 수준 getfacl에서 명령을 실행할 수 있나요 ? $HOME이를 통해 우리는 무슨 일이 일어나고 있는지 더 깊이 이해할 수 있습니다.

예를 들어:

% getfacl .
# file: .
# owner: saml
# group: saml
user::rwx
group::rwx
other::r-x

답변2

명시적으로 비활성화하지 않는 한 디렉터리에는 실행 권한이 있습니다. 원한다면 umask 0033을 사용해 보세요.

답변3

이것은 umask전혀 작동하지 않습니다.

파일의 경우 명령은 is 및 마스크를 touch사용하여 생성합니다 . -rw-rw-rw-최종 허가가 됩니다. 따라서 파일에서도 작동하지 않습니다.umask00220666 & ~ 00220644 (-rw-r--r--)

디렉토리의 경우 명령은 is 및 마스크를 mkdir사용하여 생성합니다 . rwxrwxrwx최종 허가가 됩니다.umask00220777 & ~ 00220755 (rwxr-xr-x)

하지만 왜 작동하지 않는지 모르겠습니다. SHELL에 문제가 있을 수 있습니다.

관련 정보