在 xfs 文件系统上使用 acls 访问文件时权限被拒绝

在 xfs 文件系统上使用 acls 访问文件时权限被拒绝

我正在尝试将 ACL 与 Amazon Linux(RHEL-ish 发行版)上的 xfs 文件系统结合使用。但是,当我配置 acls 并尝试使用测试用户访问文件时,我的访问被拒绝。

我目前有 2 个用户:

ec2 用户:用户创建和管理文件。所有者和完全 rwx 访问权限

测试用户:通过 acl 明确指定的访问权限

问题:

- 我目前对 xfs 的理解是 acls 可以“开箱即用”。与 ext3/ext4 不同,我不需要在挂载时启用此选项。它是否正确?

- 下面是我如何创建和许可文件的代码片段。这是 acls 的正确实现吗?

# Create directory and add file
sudo mkdir /aclDirectory
sudo echo "some content" | sudo tee /aclDirectory/test.txt

# Change owner to EC2 user and give RW access to 'testuser'
sudo chown -R  ec2-user /aclDirectory/
chmod -R 0700 /aclDirectory/
setfacl -R -m  u::testuser:rw /aclDirectory

# validate ACL permissions
getfacl /aclDirectory/test.txt

getfacl: Removing leading '/' from absolute path names
# file: aclDirectory/test.txt
# owner: ec2-user
# group: root
user::rwx
user:testuser:rw-
group::---
mask::rw-
other::---

# Read test.txt
cat /aclDirectory/test.txt 
cat: /aclDirectory/test.txt: Permission denied

答案1

扩展和 XFS 文件系统现在自动使用 ACL 选项。用户testuser仍然需要执行权限才能查看 中的文件/aclDirectory。您需要目录本身的 ACL目录中创建的所有新文件系统对象的 ACL。

# Remove the ACLs.
sudo setfacl -b /aclDirectory

# Create the default ACL (for filesystem objects created within the directory).
sudo setfacl -d -m u:testuser:rwx /aclDirectory

# Set an ACL for the directory itself.
sudo setfacl -m u:testuser:rwx /aclDirectory

然后创建一个测试文件,如图ec2-user所示testuser

相关内容