文件/目录权限尾随 + ( drwxr-xr-x+ ) [关闭]
Posted
技术标签:
【中文标题】文件/目录权限尾随 + ( drwxr-xr-x+ ) [关闭]【英文标题】:file/directory permissions trailing + ( drwxr-xr-x+ ) [closed] 【发布时间】:2017-12-22 23:28:29 【问题描述】:我有一个具有奇怪权限的目录 ( drwxr-xr-x+ ) - 尾随 ( + ) 作为第 11 个字符,这似乎强制所有文件和子目录假定 rwxrwxrwx 权限,以下是权限。
drwxr-x---+ 3 root root 4096 Dec 22 15:33 directory
我想去掉这个尾随 (+)。 我已经尝试过。
chmod 755 directory/
chmod a-x directory/
chmod u=rwx,g=rw,o=x directory/
我也尝试过:
sudo chmod u=rwx,g=rx,o-x,u-s,g-s directory/
任何帮助将不胜感激。 谢谢 - 我卡住了。
【问题讨论】:
这意味着文件/目录有一个访问控制列表。见unix.stackexchange.com/questions/92071/… @jww 实际上这与编程有关(因为我正在编写 shell 脚本),正在创建的所有文件或子目录始终具有 777 权限。这给我带来了问题,我发现这个尾随(+)似乎是一个问题。但无论如何,我可能应该在 unix 交换中问它。非常感谢 @barmar 谢谢,我去看看。 这个问题需要在 Stack Exchange 网络上问多少次? What does the trailing “+” mean in file permission bits in Linux?、What is the “+” mark at the end of file description?、What does a + mean at the end of the permissions from ls -l?、+ or @ mark after running 'ls -al'、What does the dot mean at the end of-rw-r--r--
?等
@jww 道歉,我试图搜索但找不到任何一个:)
【参考方案1】:
列出文件时的 + 表示对该文件的扩展权限。这些权限将使用访问控制列表进行设置。如果您运行“getfacl directory”,您将看到该目录的扩展权限。
根据访问控制列表的设置方式,删除,运行:
setfacl -x u:username directory
和/或
setfacl -x g:groupname directory
要从列表中删除 +,您可能还需要运行:
setfacl -x m directory
【讨论】:
【参考方案2】:结尾的+
表示在目录上设置了ACL
,访问控制列表。
您可以使用getfacl
获取详细信息
getfacl directory
以下输出来自getfacl Codespace
,其 ACL 由setfacl -m u:umesh:rw Codespace
设置。
这里setfacl
为用户umesh
授予rw
对Codespace
目录的权限。
# file: Codespace/
# owner: root
# group: root
user::rwx
user:umesh:rw-
group::r-x
mask::rwx
other::r-x
我们可以使用setfacl
删除ACL
,例如,对于上面的示例
setfacl -x u:umesh Codespace/
更多详情请访问man setfacl
和man getfacl
【讨论】:
投反对票的人,留下评论为什么投反对票,以便我们纠正。getfacl
和 setfacl
是来自 acl
包的工具。用sudo apt-get install acl
安装它【参考方案3】:
setfacl -b 目录
删除所有扩展 ACL 条目。保留所有者、组和其他人的基本 ACL 条目。
【讨论】:
以上是关于文件/目录权限尾随 + ( drwxr-xr-x+ ) [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
chmod修改文件的权限/chown修改文件和目录的所有者(转)
解决Permission denied: user=root, access=WRITE, inode=“/“:root:supergroup:drwxr-xr-x问题