【问题标题】:file/directory permissions trailing + ( drwxr-xr-x+ ) [closed]文件/目录权限尾随 + ( drwxr-xr-x+ ) [关闭]
【发布时间】: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/

任何帮助将不胜感激。 谢谢 - 我卡住了。

【问题讨论】:

标签: linux unix file-permissions chmod directory-structure


【解决方案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 授予rwCodespace 目录的权限。

    # 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 setfaclman getfacl

    【讨论】:

    • 投反对票的人,留下评论为什么投反对票,以便我们纠正。
    • getfaclsetfacl 是来自 acl 包的工具。用sudo apt-get install acl安装它
    【解决方案3】:

    setfacl -b 目录

    删除所有扩展 ACL 条目。保留所有者、组和其他人的基本 ACL 条目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-05
      • 2010-12-20
      • 1970-01-01
      • 2015-12-22
      • 2014-02-09
      • 1970-01-01
      • 1970-01-01
      • 2010-12-04
      相关资源
      最近更新 更多