ディレクトリにこの ACL を設定しました:
root@<server_ip>:/srv/www# getfacl example.com/
# file: example.com/
# owner: web
# group: www-data
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:dev:rwx <--
default:mask::rwx
default:other::r-x
dev
グループにすべてのアクセス権を与えたい( rwX
)
touch
次に、グループのユーザーとしてログインしているファイルを作成しますdev
。
luqo33@<server_ip>:/srv/www/example.com$ groups
dev
権限が拒否されたというメッセージが表示されます:
luqo33@<server_ip>:/srv/www/example.com$ touch test
touch: cannot touch ‘test’: Permission denied
なぜこのようなことが起こるのでしょうか? ACL が効いていないようです。
答え1
うーん、これを再現するには
setfacl -m default:group:foogrp:rwx foodir
ただし、その場合、chdir
ディレクトリに入ることすらできません (ACL が適用される前にユーザーが chdir を実行したのでしょうか?)。 デフォルト グループを使用する必要がある理由はありますか? たとえば、次のような場合はどうなるでしょうか:
setfacl -k example.com
setfacl -m group:dev:rwx example.com
デフォルトのグループを削除し、dev
グループ アクセス用の ACL を追加します。