フォルダ内のファイルのグループと権限を自動的に設定しますか? [コピー]

フォルダ内のファイルのグループと権限を自動的に設定しますか? [コピー]

特定のフォルダに新しいファイルとフォルダを作成するときは、親フォルダのグループと権限を継承したいと思います。可能ですか?

例えば

mkdir -p example.com/public
cd example.com
sudo chgrp apache public
chmod 775 public

今新しいフォルダを作成すると

cd public
mkdir test
ls -al
drwxrwxr-x 3 foo bar 4096 Nov 3 16:19 public

このディレクトリは私のデフォルトグループtestに属しています。新しいフォルダがこのグループに属するようにしたいと思います。foobarapache

ファイルに対して同じ動作が必要です。

どんなアイデアがありますか?

答え1

SGIDビットを設定してグループを継承できます。

chmod g+s /path/to/directory

権限を継承するにはACLが必要です。man 5 acl

ディレクトリのデフォルトACLを設定する必要があります。setfacl -d -m g::...

答え2

グループの所有権を継承するのは簡単です。ただ設定GID設定少量:

chmod g+s example.com/public

ディレクトリに作成されたすべてのエントリにはapacheグループ所有者が必要です。ディレクトリはSETGIDビットを継承します。

ACL を使用して権限を継承することは、すべてのシステムで可能ではなく、場合によってはパフォーマンスに影響を与える可能性があります。umaskACLを使用する代わりに、Webサーバーの新しいファイル/ディレクトリに対する権限を設定できます。

関連情報