Ubuntu
嘗試在 Ubuntu 18.04 LTS 上部署 Symfony - setfacl 不起作用?
**免責聲明:**我已經在 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