質問: ディレクトリとファイルに異なるaclを設定する すべてのディレクトリがすべてのディレクトリをrwxできるように、また新しく作成されたすべてのファイルがrwになるように、ファイル共有のデフォルトのアクセス許可を設定したいと思います。この共有にアクセスしている全員が同じグループに属しているため、これは問題ではありません。ユーザーのumaskなどをすべて変更せずに、aclを使用してこれを行うことを検討しました。これが私の現在の呼び出しです:setfacl -rdm g:mygroup:rwx share_name setfacl -rm g:mygroup:rwx share_name 私の問題は、新しく作成されたすべてのサブディレクトリをrwxにしたいが、新しく作成されたfilesだけをrw。誰かが私の望ましい最終結果を達成するためのより良い方法を持っていますか? chmod +xとchmod +xのように、ファイルとは別にディレクトリにaclを設定する方法はありますか?ありがとう
回答: 私がlinux aclを理解している限り、setfacl -rdm g:mygroup:rwx share_nameはまさにあなたが望んでいることをします。実験:umask 007 mkdir foo chgrp mygroup foo chmod 2700 foo setfacl -d -m group:mygroup:rwx foo setfacl -m group:mygroup:rwx foo touch foo/data echo '#!/bin/ls' >foo/exec chmod +x foo/exec 次に、グループmygroupの別のユーザーとして:$ cat foo/* #!/bin/ls #!/bin/ls $ ./foo/data ash: ./foo/data: permission denied $ ./foo/exec ./foo/exec どうしたの?$ getfacl foo/data # file: foo/data # owner: myuser # group: mygroup user::rw- group::--- group:mygroup:rwx #effective:rw- mask::rw- other::--- mygroupの有効なaclは、mygroup(rwx)のacl_groupエントリとacl_maskエントリ(rw-)のand処理の結果です。 。 acl(5)のマニュアルページ は、「アクセスチェックアルゴリズム」での計算について説明しています。 acl_maskエントリの生成方法については説明していませんが、実際には正しいことが発生しているようです。