奇妙な問題があります。一部の開発者がフォルダ内の複数のファイルに対する書き込み権限を持つことができるように、aclに集中しようとしています。
ここにサンプルフォルダ構造があります。そこにsettings.local.phpファイルがあります。 chmodを使用して000権限を付与し、setfaclを使用してrwX権限を付与して動作しました。 getfaclで正しい権限を与えたかのように動作しました。ただし、所有者権限は影響を受けず、ユーザーは実際にファイルを保存できません。実際、この例ではユーザーがファイルを読み取ることはできません。
hostname:/srv/clientname/sites/local# chmod 000 *
hostname:/srv/clientname/sites/local# ls -la
total 64
dr-xrwxrwx+ 3 clientname www-data 4096 Jun 19 16:50 .
drwxrwxrwx+ 5 clientname www-data 4096 Jun 19 16:51 ..
----------+ 1 clientname www-data 775 Jun 19 16:50 settings.local.php
hostname:/srv/clientname/sites/local# groups clientname
clientname : www-data sftp ftp
hostname:/srv/clientname/sites/local# setfacl -m u:clientname:rwX *
hostname:/srv/clientname/sites/local# ls -la
dr-xrwxrwx+ 3 clientname www-data 4096 Jun 19 16:50 .
drwxrwxrwx+ 5 clientname www-data 4096 Jun 19 16:51 ..
----rw----+ 1 clientname www-data 775 Jun 19 16:50 settings.local.php
hostname:/srv/clientname/sites/local# getfacl settings.local.php
# file: settings.local.php
# owner: clientname
# group: www-data
user::---
user:www-data:rw-
user:clientname:rw-
group::r--
group:www-data:rw-
mask::rw-
other::---
私は何が間違っていましたか?
ベストアンサー1
ACL は一般権限を補完しますが、置き換えることはありません。clientname
ファイルの所有者として、まず、所有者ACLを適用します。。それは
user::---
(所有者権限と一致)アクセスが拒否されました。