ACL 与 chmod 相矛盾

ACL 与 chmod 相矛盾

我已经在 Digital ocean ubuntu14.04 上安装了 opencart 1.5.6.1 我使用“demo”作为用户名并通过ightvnc登录

opencart 需要“www-data”作为所有者和组:

$ sudo chown -R www-data:www-data /var/www/html  
$ sudo chmod -R a=r,a+X,u+w /var/www/html
$ cd /var/www/html/ 
$ ls -la  
drwxr-xr-x+  6 www-data www-data  4096 Aug 17 07:19 catalog
-rw-r--r--+  1 www-data www-data     0 Aug 15 13:14 config-dist.php
$ sudo getfacl /var/www/html/
# file: var/www/html/
# owner: www-data
# group: www-data
user::rwx
group::r-x
other::r-x

然后我还通过添加 demo 作为所有者来更改 ACL:

$ sudo setfacl -R -m u:demo:rwx /var/www/html/
# file: var/www/html/
# owner: www-data
# group: www-data
user::rwx
user:demo:rwx
group::r-x
mask::rwx
other::r-x

它允许演示在 vnc 中编辑文件和文件夹。

但这也改变了这些文件的权限:

$ ls -la
drwxrwxr-x+  6 www-data www-data  4096 Aug 17 07:19 catalog
-rw-rwxr--+  1 www-data www-data     0 Aug 15 13:14 config-dist.php

该组已更改为 rwx....

如果我通过以下方式更改组权限:

$ sudo chmod -R g-x /var/www/html

ACL 掩码发生变化....

# file: var/www/html/
# owner: www-data
# group: www-data
user::rwx
user:demo:rwx                   #effective:rw-
group::r-x                      #effective:r--
mask::rw-
other::r-x

如果我更换面具:

$ sudo setfacl -R -m m:rwx /var/www/html/

一行人回到rwx!

所以问题是:每当我使用 chmod 进行更改时,ACL 都会更改!当我更改使用 ACL 时,组权限发生了变化!

它可能与: http://www.novell.com/documentation/suse91/suselinux-adminguide/html/apbs03.html

可能需要使用-n

sudo setfacl -nR -mu:demo:rwx /var/www/html/

可能是“ ls -dl mydir 显示的组类权限位现在对应于掩码条目。”

这意味着显示的rwx是指掩码权限而不是组权限

答案1

您的列表在未运行 getfacl 的文件上显示了 +,因此很难判断到底发生了什么。对单个文件重复并列出/报告之前和之后的状态以及所有命令。

如果您的问题仍然存在于以前没有 acl 的文件上,则您的 acl 实现中存在错误,因为我无法在旧的已撤回 ACL 草案来源的参考 Solaris 上重复该问题。

相关内容