
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-
최종 허가가 됩니다. 따라서 파일에서도 작동하지 않습니다.umask
0022
0666 & ~ 0022
0644 (-rw-r--r--)
디렉토리의 경우 명령은 is 및 마스크를 mkdir
사용하여 생성합니다 . rwxrwxrwx
최종 허가가 됩니다.umask
0022
0777 & ~ 0022
0755 (rwxr-xr-x)
하지만 왜 작동하지 않는지 모르겠습니다. SHELL에 문제가 있을 수 있습니다.