Amazon Linux(RHELディストリビューション)でxfsファイルシステムでACLを使用しようとしています。ただし、aclsを設定してテストユーザーを使用してファイルにアクセスしようとすると、アクセスは拒否されます。
現在2人のユーザーがいます。
EC2ユーザー:ユーザーはファイルを作成して管理します。所有者とフルrwxアクセス
テストユーザー:ACLを介して明示的に指定されたアクセス権
質問:
- xfsの私の現在の理解は、aclsが「すぐに」使用できることです。 ext3/ext4 とは異なり、マウント時にこのオプションを有効にする必要はありません。そうですか?
- 以下は、ファイルを生成してライセンスを付与する方法のコードスニペットです。これはaclの正しい実装ですか?
# 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
NETでファイルを表示するには実行権限が必要です/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
。