Linux
在 xfs 文件系統上使用 acls 訪問文件時權限被拒絕
我正在嘗試將 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