web-dev-qa-db-ja.com

LinuxでACL権限を再帰的に設定するには、どうすればsetfaclを取得できますか?

新しいサーバーをセットアップしていて、chown:chgrp:chmodスタイルのアクセス許可に対してACLを試してみたいと思います。

Setfaclのmanページには、「-R」オプションを使用してファイルとディレクトリにACLを再帰的に設定できることが示されています。

-R、--recursiveすべてのファイルとディレクトリに操作を再帰的に適用します。このオプションを「--restore」と組み合わせることはできません。

私のディレクトリレイアウトが次のようになっている場合

test/
   subtest/
   subtest.txt

そして私は実行します

setfacl -Rm d:u:foo:rwX test

ACLは「subtest」ディレクトリで有効になりますが、subtest.txtファイルでは有効になりません。

Find + execを使用して回避できると思いますが、このサーバーを使用して他のいくつかの管理者をトレーニングする予定であり、より高度なものに夢中にならないように、できるだけシンプルにしたいです規約。

ありがとう

20
Joe Holloway

試してください:

setfacl -Rm u:foo:rwX,d:u:foo:rwX test

現在のACLとデフォルトを変更します。 「d:」は、ディレクトリの(d)デフォルトのACLにのみ影響し、ファイルには手を付けないままにしていると思います。次に、ディレクトリにnewファイルを作成すると、デフォルトで親ディレクトリのACLを継承します。