使いたい設定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 は、明示的に拒否されたエントリを最初に、継承されたエントリを最後に配置して、それらを「優先」順序に変更するようです。