setfaclを使用したデフォルト権限の設定

setfaclを使用したデフォルト権限の設定

を使用して私のディレクトリ構造のデフォルト権限を設定しようとしていますacl。ディレクトリとファイルに対して、それぞれ次の基本的な権限を持っていると思います。

drwx--x---
-rw-r-----

groupただし、デフォルト権限を次のように設定するだけですx

setfacl -R -d -m g::x my_dir

その後、新しく作成されたディレクトリには私が望む権限がありますが、新しく作成されたファイルには権限があり-rw-------ません-rw-r-----。つまり、ファイルの権限はr維持しながら、そのディレクトリの権限を削除しようとします。r

どうすればいいですか?

ベストアンサー1

Linux/Solaris ACL はこの機能をサポートしていません。ファイルとディレクトリに異なるデフォルトのACLを設定できません。

閲覧できますが、内容を一覧表示できない(実行可能ですが読み取れない)ディレクトリを持つことはほとんど役に立ちません。それがうまくいくという事実は、いくつかの歴史の偶然です。はい、時には便利です。しかし、本当に必要ですか? (これは別の質問でお願いします。)

権限の異なるディレクトリとファイルが本当に必要な場合は、次のようないくつかの可能性を検討してください。

  • 独自のファイルシステム属性に依存するのではなく、アプリケーションが生成したファイルの所有権を変更するようにしてください。
  • デフォルトでは、すべてをプライベートに設定し(setfacl -d -m group:mygroup:X)、次のいずれかの提案を使用してください。ACLを使用するディレクトリでのみグループ+ rx権限を使用しますか?:

    • グループ公開ファイルを直接公開するのではなく、バインド経由でインストールしてください。
    • inotifyを使用してツリーを観察し、setfacl新しい一般ファイルで実行します。

おすすめ記事