为什么 ACL 在该设置下无法正常工作?

为什么 ACL 在该设置下无法正常工作?

我在我的笔记本电脑上运行 Arch Linux 作为开发机器,我需要授予用户组对文件夹 /srv/http 及其下的所有文件和文件夹的 RW 权限。

我确保 ACL 已安装,然后将其添加到我的 fstab:

/dev/sda7               /               ext4            rw,relatime,data=ordered,acl    0 1

然后我运行了以下命令:

sudo setfacl -m group:users:rw- -R /srv/http

它在我的台式机上运行良好,为什么在我的笔记本电脑上运行不起来?使用上述 setfacl 命令后,用户甚至不再具有对文件或文件夹的读取权限。

当我删除 ACL 记录时,如下所示:

sudo setfacl -bR /srv/http

执行该命令后,用户可以打开文件,但不能修改它们。

我在这里做错什么了吗?

以下是“ls -l /srv/http”的输出

[shane@arch-mobile ~]$ ls -l /srv/http/
total 4
drwxr-xr-x 9 http http 4096 Aug  7 11:04 drupal7

“zcat /proc/config.gz | grep -i acl” 的输出:

CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_FS_POSIX_ACL=y
CONFIG_GENERIC_ACL=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_CIFS_ACL=y
CONFIG_9P_FS_POSIX_ACL=y

答案1

@quanta 没什么。这是否意味着我的 fstab 在某处存在问题?

是的。这意味着您的根文件系统尚未重新挂载 ACL 支持:

# mount -o remount,acl /dev/sda7

然后再试一次。

答案2

您应该授予“用户”搜索目录的权限,否则它将不起作用:

 sudo find /srv/http -type d -exec setfacl -m group:users:rwx {} \;

答案3

如果输出

mount | grep acl

命令为空,则表示您的根文件系统未支持 acl 而挂载。但如果发生这种情况,setfacl命令将产生错误“操作不受支持”。

请发布getfacl /srv/http命令的输出。

相关内容