POSIX ACL マスク値が論理和ではありません。

POSIX ACL マスク値が論理和ではありません。

POSIX ACLマスクがどのように再計算されるかを理解する必要があります。マンページを読みました(https://man7.org/linux/man-pages/man1/setfacl.1.html) 以下の説明があります。

The default behavior of setfacl is to recalculate the ACL mask entry, unless a mask entry was 
explicitly given. The mask entry is set to the union of all permissions of the owning group, and
all named user and group entries.

はっきり見えますが、見るほど簡単ではありません。グループユーザーと2人のユーザー(学生とjbond)があるとしましょう。ユーザーStudentは、次のACLリストを含むtest.txtファイルを作成しました。

# file: test.txt
# owner: student
# group: users
user::rw-
user:jbond:rw-          #effective:r--
group::r--
mask::r--
other::r--

現在、学生は読んで書くことができますが、jbondは読むだけです。その後、chmodを使用してグループ権限を変更しました。

chmod g-r test.txt

ACLのリストは次のようになります。

# file: test.txt
# owner: student
# group: users
user::rw-
user:jbond:rw-          #effective:---
group::r--              #effective:---
mask::---
other::r--

私の質問は、このマスクがどうなったのでしょうか---?マニュアルページに記載されている結合操作を実行する方法。論理ORと同じですか?では、段階的に計算する方法は?本当に理解する必要があります。

システム情報:SUSEを開く

ベストアンサー1

走っていないのでsetfaclマスクを修理できません。実行しましたが、chmodACLを知りませんでした。今実行すると、setfacl -m user:jbond:rw test.txtマスクも変更されることがわかります。

setfacl -m group::xyz(ACLマスクの場合はマスクを変更しますが、前者はマスクが属するグループの実際の権限を変更するため、ACLマスクの場合とは異なります。)chmod g=xyz

おすすめ記事