基本グループ所有権のACLオーバーライドの問題

基本グループ所有権のACLオーバーライドの問題

以前に設定したACL設定を上書きできません。

次のようになります。

root@ip-xxx-xxx:/srv/www# getfacl grace.staging.site.com.au/
# file: grace.staging.site.com.au/
# owner: web
# group: www-data
user::rwx
group::r-x
group:www-data:rwx
group:dev:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:www-data:rwx <---------
default:mask::rwx
default:other::r-x

ご覧のとおり、デフォルトのグループはdefault:group:www-data:rwx- この設定は繰り返し適用されます。ただし、新しいファイルまたはディレクトリを作成するたびに、次のエントリに帰属しますluqo33:dev

luqo33@ip-xxx-xxx:/srv/www/grace.staging.site.com.au$ touch test_file
luqo33@ip-xxx-xxx:/srv/www/grace.staging.site.com.au$ ls -al
total 20
drwxrwxr-x+ 3 web    www-data 4096 Jun 28 19:14 .
drwxr-xr-x  5 web    www-data 4096 Jun 28 18:33 ..
drwxrwxr-x+ 2 web    www-data 4096 Jun 28 18:33 logs
-rw-rw-r--+ 1 luqo33 dev         0 Jun 28 19:14 test_file <-------

すべてのファイルとディレクトリに属する​​必要がありますweb:www-data。グループ(www-data)にデフォルトのACLがありますが効果はないようです。私は何を見逃していますか?

答え1

defaultこれはACLエントリの意味ではなくエントリの意味です。作成した新しいファイルを見ると、すでにACL(+ls出力の末尾)があり、aにそのファイルに関連付けられているgetfacl test_fileことが示されますgroup:www-data:rwx

新しく作成されたファイル所有するこの時点で、www-dataディレクトリにsetgidビットを追加する必要があります。

そのフラグがない場合は、ファイルを作成すると私のグループに含まれます。

$ ls -ld .
drwxr-xr-x 2 sweh www-data 4096 Jun 28 17:37 ./

$ touch x
$ ls -l x
-rw-r--r-- 1 sweh sweh 0 Jun 28 17:38 x

これで、ディレクトリに setgid ビットが追加され、新しいファイルのグループ所有権はデフォルトで www-data に設定されます。

$ sudo chmod g+s .
$ ls -ld .
drwxr-sr-x 2 sweh www-data 4096 Jun 28 17:38 ./

$ touch y
$ ls -l y
-rw-r--r-- 1 sweh www-data 0 Jun 28 17:38 y

関連情報