アクセス制御リスト - 権限が間違っていますか?

アクセス制御リスト - 権限が間違っていますか?

file1 を作成し、000 権限を付与します。

[root@localhost ~]# ls -ltr file1
----------. 1 root root 0 Jan 28 08:09 file1

アクセス制御リストを使用して、ユーザー「test」にrw権限を付与します。

setfacl -m u:test:rw file1

selinuxのfile1権限が正しいです。

[root@localhost ~]# getfacl file1
# file: file1
# owner: root
# group: root
user::---
user:test:rw-
group::---
mask::rw-
other::---

ちなみにファイル権限を見ると060と表示されます。

[root@localhost ~]# ls -ltr file1
----rw----+ 1 root root 0 Jan 28 08:09 file1

Q:この060権限はどこから来ますか?

答え1

拡張属性を持つファイルの場合、acl(5)ファイルマスクの3つのグループビットは異なる意味を持つことができます。つまりACL_MASK、付与できる最大アクセス権ACL_USER、ACL拡張属性に格納されている権限ですACL_GROUP_OBJACL_GROUPマニュアルacl(5)ページを引用すると、次のようになります。

ファイル所有者、グループ、その他の権限と特定のACLエントリとの間には対応する関係があります。つまり、所有者権限はアイテムの権限に対応しますACL_USER_OBJ。 ACLにACL_MASK エントリがある場合、グループ権限はその ACL_MASKエントリです。それ以外の項目がACLない場合ACL_MASK、グループ権限は項目の権限に対応しますACL_GROUP_OBJ。他の権限に対応するACL_OTHER_OBJ 項目に対する権限

testこれでユーザー権限を付与しrwて完了しました。いいえ-nオプション(「有効な権限マスクを再計算しない」)を使用すると、setfacl(1)ACLマスクが正しく設定されますrw

関連情報