Gur*_*yal 3 unix linux file-permissions directory-structure chmod
我有一个具有奇怪权限的目录(drwxr-xr-x +)-尾随(+)作为第11个字符,这似乎迫使所有文件和子目录都具有rwxrwxrwx权限,以下是权限。
drwxr-x---+ 3 root root 4096 Dec 22 15:33 directory
Run Code Online (Sandbox Code Playgroud)
我想摆脱此尾随(+)。我试过跟随。
chmod 755 directory/
chmod a-x directory/
chmod u=rwx,g=rw,o=x directory/
Run Code Online (Sandbox Code Playgroud)
我也尝试过以下方法:
sudo chmod u=rwx,g=rx,o-x,u-s,g-s directory/
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激 。谢谢-我被困住了。
尾随+表示ACL在目录上设置了“访问控制列表”。
您可以getfacl用来获取详细信息
getfacl directory
Run Code Online (Sandbox Code Playgroud)
以下输出是从中输出的getfacl CodespaceACL设置setfacl -m u:umesh:rw Codespace。这setfacl是为用户rw授予Codespace目录权限umesh。
# file: Codespace/
# owner: root
# group: root
user::rwx
user:umesh:rw-
group::r-x
mask::rwx
other::r-x
Run Code Online (Sandbox Code Playgroud)
并且我们可以删除上述示例的ACLusing setfacl,
setfacl -x u:umesh Codespace/
Run Code Online (Sandbox Code Playgroud)
在man setfacl和的更多详细信息man getfacl
列出文件时的 + 表示对该文件的扩展权限。这些权限将通过访问控制列表进行设置。如果运行“getfacl目录”,您将看到该目录的扩展权限。
根据访问控制列表的设置方式,要删除,请运行:
setfacl -x u:username directory
Run Code Online (Sandbox Code Playgroud)
和/或
setfacl -x g:groupname directory
Run Code Online (Sandbox Code Playgroud)
要从列表中删除+,您可能还需要运行:
setfacl -x m directory
Run Code Online (Sandbox Code Playgroud)