setfacl 以降、デフォルト権限は考慮されません。

setfacl 以降、デフォルト権限は考慮されません。

既定では、私のフォルダー hackerrank に生成されたすべてのファイルが rwx で生成されるように既定のアクセス許可を設定しようとしています。

私は1つを作りましたchmod g+s(他のスレッドを見ているので、正直なところ、これが何をしているのかはわかりませんが、変更された場合に備えて):

chmod g+s hackerank/

次に、グループにデフォルトのACLを設定します。

setfacl -d -m g::rwx hackerank/

ACLを確認すると、今は大丈夫です。

getfacl hackerank/
# file: hackerank/
# owner: will
# group: will
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:will:rwx
default:mask::rwx
default:other::r-x

しかし、新しいファイルを作成しましたが、まだ継承されます-rw-rw-r--+(+有効なACL属性を表示:

touch hackerank/test
ll hackerank/
total 8.0K
drwxrwsr-x+ 2 will will 4.0K Jul 11 16:09 ./
drwxr-xr-x  3 will will 4.0K Jul 11 15:03 ../
-rw-rw-r--+ 1 will will    0 Jul 11 16:09 test

getfacl hackerank/test
# file: hackerank/test
# owner: will
# group: will user::rw-
group::rwx  #effective:rw-
group:will:rwx  #effective:rw-
mask::rw-
other::r--

私が逃したことについての手がかりはありますか?

ご協力ありがとうございます

ベストアンサー1

2ヶ月前のこの質問も参照してください。ACLを使用した「x」(実行可能)ビットの設定。公式文書で定義された場所への良いポインタがあります。イルカチュウの答え


アプリケーションは指定されたモードでファイルを生成します。その後、パターンは現在の制限に制限されますが、拡張されませんumask

strace touch a
...
open("a", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = 3

umaskたとえば、上記で作成したファイルを0664/-rw-rw-r--(ビューを使用)に制限する002ファイルがありますstat a

私の理解は、これがACLも制限することです。 ACL は、ファイルモードを読み取るときに表示される以上の権限を許可しません。

willグループ固有のファイルアクセスはを超えることはできませんrw-。これは、maskgetfacl出力の「有効な」コメントを記述するACLによって実行されます。編集:マスクは、「user ::」(ファイル所有者)と「other:」を除くすべてのACLエントリに適用されます。これらのすべてのACLエントリにはマスクが適用されます。

will以外のユーザーとグループへのアクセス権をwill超えてはいけませんr--

おすすめ記事