Ubuntu

嘗試在 Ubuntu 18.04 LTS 上部署 Symfony - setfacl 不起作用?

  • October 22, 2018

**免責聲明:**我已經在 StackOverflow 上問過這個問題,但它有點緊急,我沒有得到任何回應,我認為 ServerFault 可能是發布這個的更好的地方。如果我在這裡得到答案,我會刪除另一個。

我正在按照此處的指南(誠然它有點過時)將我的第一個 Symfony 4 項目部署到生產環境。在我獲得文件權限之前一切都很好。我在連結的第 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 應用程序時,我得到一個空白頁,並且顯示錯誤日誌

$$ crit $$3116#3116:*12 stat()“/var/www/html/project/public/”失敗(13:權限被拒絕)

所以似乎 setfacl 不起作用?我在這裡做錯了什麼?是否有更好的權限指南?

編輯:我剛剛在這裡讀到:

要使用 ACL,必須使用可以使用 ACL 功能的文件系統,如 ext2/ext3/ext4 或 xfs,並且還需要在這些文件系統上啟用 ACL 選項。

我的驅動器已加密(在安裝期間完成)。這可能是為什麼這不起作用嗎?如果是這種情況,我會有什麼選擇?

鑑於www-data使用者不是該myuser組的成員,它需要訪問目錄+x的權限/var/www/html。問題中的現有權限是“750”。要改變這一點:

chmod o+x /var/www/html

引用自:https://serverfault.com/questions/936547