新しいファイルにグループ書き込み権限が付与されないのはなぜですか?

新しいファイルにグループ書き込み権限が付与されないのはなぜですか?

個々のユーザーのumask設定に関係なく、すべての新しいファイルがグループ書き込み可能になるようにディレクトリを設定したいと思います。

グループを作成し、storすべてのユーザーをグループに追加しました。その後、フォルダを作成しました。

$ mkdir uaroot
$ chgrp stor uaroot
$ ls -l
total 4
drwxr-xr-x  2 ua  stor  512 Dec 27 14:35 uaroot

これにACLを設定しました。

$ setfacl -d -m u::rwx,g::rwx,o::rx,mask::rwx uaroot
$ setfacl -m u::rwx,g::rwx,o::rx,mask::rwx uaroot
$ ls -l
total 8
drwxrwxr-x+ 2 ua  stor  512 Dec 27 14:35 uaroot

ACLが次のように設定されていることがわかります。

$ getfacl uaroot
# file: uaroot
# owner: ua
# group: stor
user::rwx
group::rwx
mask::rwx
other::r-x

$ getfacl -d uaroot
# file: uaroot
# owner: ua
# group: stor
user::rwx
group::rwx
mask::rwx
other::r-x

私はこれがそのディレクトリ内のファイルを自動的にグループ書き込み可能にすると思いましたが、そうではありません。

$ cd uaroot
$ touch a
$ ls -l
total 4
-rw-r--r--+ 1 ua  stor  0 Dec 27 14:38 a

$ getfacl a
# file: a
# owner: ua
# group: stor
user::rw-
group::rwx      # effective: r--
mask::r--
other::r--

上記の表記法とはどういうeffective意味ですか?すべてのファイルに対してグループ書き込み可能な権限を取得するには、何が欠けていますか?

答え1

dオプションsetfacl -m ::rwx,g::rwx,o::rx,mask::rwx uarootなしで実行時に以前の設定をキャンセルし、オブジェクトの現在のACL設定を使用し、必要なものを取得するにはrerunを使用します。--mmodifies-d

setfacl -d -m u::rwx,g::rwx,o::rx,mask::rwx uaroot

私のテスト結果は次のとおりです。

-rw-rw-r--+ 1 georgek georgek 0 Dec 28 08:04 koko/a

default2番目のコマンドを実行した後、setfaclキーワードがありません。あなたは見る必要があります

# file: koko/
# owner: georgek
# group: georgek
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::rwx
default:mask::rwx
default:other::r-x

このフォルダに新しく作成されたファイルにデフォルト値が適用されていることを確認してください。getfacl私のテストで生成されたファイルは次のとおりです。

# file: koko/a
# owner: georgek
# group: georgek
user::rw-
group::rwx                      #effective:rw-
mask::rw-
other::r--

関連情報