Apacheで生成されたファイルでsetfaclが失敗する

Apacheで生成されたファイルでsetfaclが失敗する

私のユーザーが所有するディレクトリがありますvagrant。 Webサーバー(およびWebアプリケーション)はwww-data

誰が作成したかに関係なく、両方のユーザーがこのディレクトリにディレクトリとファイルを作成して変更する必要があります。vagrantこれは、作成したファイルを変更できますが、作成したディレクトリにwww-data新しいファイルを作成できないためですwww-data

作成したディレクトリに適用されたマスクを変更できないため、問題が発生したと思いますwww-data

vagrant@iadev:/var/www/web$ sudo rm -r core/cache
vagrant@iadev:/var/www/web$ mkdir core/cache

vagrant@iadev:/var/www/web$ sudo setfacl -R -m u:www-data:rwX,u:vagrant:rwX core/cache
vagrant@iadev:/var/www/web$ sudo setfacl -dR -m u:www-data:rwX,u:vagrant:rwX core/cache

vagrant@iadev:/var/www/web$ getfacl core/cache
# file: core/cache
# owner: vagrant
# group: vagrant
user::rwx
user:www-data:rwx
user:vagrant:rwx
group::rwx
mask::rwx
other::r-x
default:user::rwx
default:user:www-data:rwx
default:user:vagrant:rwx
default:group::rwx
default:mask::rwx
default:other::r-x

Webアプリをブラウズしてキャッシュを埋めます。

vagrant@iadev:/var/www/web$ getfacl core/cache/locks/
# file: core/cache/locks/
# owner: www-data
# group: www-data
user::rwx
user:www-data:rwx               #effective:r-x
user:vagrant:rwx                #effective:r-x
group::rwx                      #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:user:www-data:rwx
default:user:vagrant:rwx
default:group::rwx
default:mask::rwx
default:other::r-x

vagrant@iadev:/var/www/web$ vi core/cache/locks/test.txt

ユーザーがvagrantファイルを保存しようとすると失敗しますcore/cache/locks。これが問題であることを理解しています#effective:r-xが、どのように変更するのかわかりません。

setfacl私は〜30のコマンドのバリエーションを試しました(-nおよび含むm:rwX)。理解できない部分は何ですか?

ベストアンサー1

私も同じ問題があります。core/cache/locks/test.txtACLの内容を確認するには:

getfacl core/cache/locks/test.txt

ディレクトリベースのACLが生成されたファイルに適用されていない可能性があります(出力は次のようになります)。

# file: test.txt
# owner: www-data
# group: www-data
user::rw-
group::r--
other::r--

Apacheを再起動すると役に立ちました。リフレッシュはできません。

一方、再起動する必要のない別のApacheインスタンスがあります。行って調べてください。

おすすめ記事