![拡張権限 - ACL を設定した後、グループは書き込みできません](https://rvso.com/image/88778/%E6%8B%A1%E5%BC%B5%E6%A8%A9%E9%99%90%20-%20ACL%20%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%9F%E5%BE%8C%E3%80%81%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%AF%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%20.png)
使いたい設定dir
ユーザー グループの権限を設定します。次のようにします。
mkdir /Employee
chgrp employeers /Employee
setfacl -m d:g::rwx /Employee
そして今、ファイルを作成しようとすると(このグループのメンバーであるユーザーから)、 「権限がありません」というエラーが表示されます。
root@debian:~# ls -la /Employee
all 8
drwxr-xr-x+ 2 root employeers 4096 maj 21 14:50 .
drwxr-xr-x 23 root root 4096 maj 21 14:50 ..
何が間違っているのでしょうか?
答え1
d
は の省略形ですdefault
。デフォルトの権限と実際の権限は独立しています。 を省略して setfacl コマンドをもう一度実行するとd:
、権限は希望どおりに動作するはずです。両方のコマンドの効果が必要なのだと思います。
の出力はgetfacl
、次のような結論を示唆することができます。
default:
拡大表示- 「default」を含まない元のアクセス制御エントリを表示し、作成したエントリに何か異なる点があることを示します。
一方、+
の出力の はls -l
、基本モードからは予期されないアクセスを許可する ACE があることを示しています (標準の POSIX ACE が、ここで表示される基本モードで許可されているアクセスを拒否する方法はありません) [1]。2 回目の setfacl コマンドの後、基本モードが に変わることがわかりますrwxrwxr-x
。これは、 がファイルのプライマリ グループであり、setfacl が重複エントリの作成を回避するためですemployeers
。
[1] Windows および NFSv4 ACL では、拒否エントリが許可されます。多くの人は、これを複雑性の罠であると考えています (nfs4_acl のマニュアルページを含む)。当然、これは ACL の順序が重要であることを意味します。どうやら、Windows GUI は、明示的に拒否されたエントリを最初に、継承されたエントリを最後に配置して、それらを「優先」順序に変更するようです。