Linux

在 xfs 文件系統上使用 acls 訪問文件時權限被拒絕

  • November 26, 2018

我正在嘗試將 ACL 與 Amazon Linux(RHEL-ish 發行版)上的 xfs 文件系統一起使用。但是,當我配置 acls 並嘗試使用測試使用者訪問文件時,我的訪問被拒絕。

我目前有 2 個使用者:

**ec2-user:**創建和管理文件的使用者。所有者和完整的 rwx 訪問權限

**testuser:**通過 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

Extended 和 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

引用自:https://unix.stackexchange.com/questions/484249