デフォルトの ACL の設定が期待どおりに動作しない

デフォルトの ACL の設定が期待どおりに動作しない

私は Web プロジェクトに取り組む予定なので、www内に -folder があります。このフォルダを が所有し、グループ に属するよう$HOMEにしたいです。次のように発行します。userwww-data

mkdir $HOME/www
chmod g+rxs,u+rwx,o-rwx $HOME/www
chown user.www-data $HOME/www

次にls -alh | grep www以下を与えます:

drwxr-s---  2 user www-data     4,0K Aug 10 17:33 www

さらに、作成プロセスの権限に関係なく、デフォルトの権限を設定する必要があります。そのため、次のようにします。

setfacl -m d:u::rwx,d:g::rx,d:o::- $HOME/www

次にgetfacl $HOME/www以下を与えます:

# file: www
# owner: user
# group: www-data
# flags: -s-
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:other::---

今、cd新しく作成したフォルダーに問題が発生しました:

touch testfile

そして次のようにls -alh | grep testfile言います:

-rw-r-----   1 user www-data    0 Aug 10 17:44 testfile

ご覧のとおり、グループはビットwww-dataによって継承されましたsetgid。ただし、ディレクトリのデフォルト ACL は$HOME/www継承されませんでした (予想どおり)。は、$HOMEと比較してデフォルト ACL が異なります$HOME/wwwが、サブディレクトリのデフォルト ACL を手動で上書きすることは非常に簡単に機能すると予想されます。

内部のサブディレクトリとファイルに、$HOME/www上記のようにデフォルトの権限を持たせたいのですが、何が足りないのでしょうか?

答え1

デフォルトでは、ファイルには実行権限がありません。ディレクトリにはあります。ディレクトリを作成してみてください。期待される権限が付与されるはずです。ファイルには、実行権限を除く期待されるデフォルトの権限が付与されるはずです。

関連情報