web-dev-qa-db-ja.com

Ubuntu 18.04 LTSにSymfonyをデプロイしようとしています-setfaclが機能していませんか?

免責事項:私はすでに StackOverflowでこれを尋ねました しかし、それは一種の緊急であり、私は応答を受け取っていません、そして私はServerFaultがかもしれないと思いますとにかくこれを投稿するためのより良い場所になります。ここで答えが得られたら、もう一方を削除します。

私はガイドに従っています ここ (確かに少し古いです)私の最初のSymfony4プロジェクトを本番環境にデプロイします。ファイルのアクセス許可を取得するまでは、すべて順調でした。私は特にリンクのステップ4でステップを実行しました:

Sudo chown -R myuser:myuser /var/www/html
Sudo chmod -R 750 /var/www/html
Sudo setfacl -R -m u:www-data:rX /var/www/html/project
Sudo setfacl -R -m u:www-data:rwX /var/www/html/project/var/cache /var/www/html/project/var/log
Sudo setfacl -dR -m u:www-data:rwX /var/www/html/project/var/cache /var/www/html/project/var/log

それは私に与えます

getfacl /var/www/html/project

# file: var/www/html/project/
# owner: myuser
# group: myuser
user::rwx
user:www-data:r-x
group::r-x
mask::r-x
other::---

そして

getfacl /var/www/html/project/var/cache

# file: var/www/html/project/var/cache
# owner: myuser
# group: myuser
user::rwx
user:www-data:rwx
group::r-x
mask::rwx
other::---
default:user::rwx
default:user:www-data:rwx
default:group::r-x
default:mask::rwx
default:other::---

ただし、Webアプリを実行しようとすると、空白のページが表示され、エラーログに次のように表示されます。

[クリティカル] 3116#3116:* 12 stat() "/ var/www/html/project/public /"が失敗しました(13:アクセスが拒否されました)

それで、setfaclが機能していないようですか?私はここで何が間違っているのですか?権限に関するより良いガイドはありますか?

編集:私はちょうど読んだ ここ それ:

ACLを使用するには、ext2/ext3/ext4やxfsなどのACL機能を使用できるファイルシステムを使用する必要があります。また、これらのファイルシステムでACLオプションを有効にする必要もあります。

ドライブは暗号化されています(インストール中に実行されます)。それがこれが機能しない理由でしょうか?この場合、どのような選択肢がありますか?

4
Element Zero

www-dataユーザーがmyuserグループのメンバーではない場合、+xディレクトリを下るには/var/www/html権限が必要です。問題の既存の権限は「750」です。これを変更するには:

chmod o+x /var/www/html
3
danblack