ファイルにread
ユーザーの一般権限がある場合男write
であり、ユーザーのACL権限も持っています。男、この場合はどうなりますか?
- 一般権限のみが適用されますか(したがって、ファイルには
read
権限のみがあります)。 - それともACL権限のみを適用しますか(ファイルには
write
権限のみが付与されます)? read
それとも両方の権限が適用されますか(したがって、ファイルに権限が付与されますwrite
)?
答え1
短い答え
ACLはTraditionalの親セットであるため、両方を持つことはできません(TraditionalはACLの一部であるため)。
もっと長い答えです。
まず試してみましょう。
#> chmod ug-w aab
#> setfacl -m u:me:w aab
#> getfacl aab
# file: aab
# owner: me
# group: me
user::r--
user:me:-w- #effective:---
group::r--
mask::r--
other::r--
それでは、user:meのACLが無効なのはなぜですか?
これを説明するために、伝統的な権限を見ることができます。
ここにリストされているファイルがある場合
-r---w---- 1 me me 0 Feb 21 09:41 abc
それでは読めますが、書くことはできません。なぜこれですか?
OSは最初に私を所有者に関連付けようとし、次にグループ、次に他のすべての人に接続しようとします。私の所有者と私は完璧なペアです。次に、これらの権限を適用します。これにより、私のグループ権限はマージされません。
ACL を使用する場合、追加の権限はグループ権限の一部であるため、所有者は使用できません。
私の考えでは、ACLは同じ方法で解析されます。つまり、自分が属するグループを見つけて権限を適用することです。 (許可なくマージ)。
ユーザーが異なる場合
これ#> setfacl -m u:anotherUser:w aab
により、この権限が(そのユーザーに対して)最初に検出され、適用されたため、権限が適用されます。