[英]Vagrant permissions Symfony
我正在嘗試使用“ ubuntu / trusty64”框將Vagrant與Symfony項目一起設置。 我的配置文件中包含以下內容
echo "Installing acl"
apt-get install acl
mount -o remount,acl /
echo "Setting symfony log and cache permissions"
HTTPDUSER=`ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1`
setfacl -R -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX /var/www/app/cache /var/www/app/logs
setfacl -dR -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX /var/www/app/cache /var/www/app/logs
但是setfacl失敗並顯示setfacl: /var/www/app/cache: Operation not supported
如果我運行mount | grep acl
mount | grep acl
我可以看到根驅動器,提示acl是在根分區上的正確設置。
沒有這些權限設置,我將無法運行任何symfony生成器命令。
我最終使用此處的解決方案解決了此問題,使用了nginx的Vagrant文件夾權限 ,這是將nginx用戶更改為vagrant。
檢查鏈接: http : //symfony.com/doc/current/book/installation.html
3.在不支持chmod + a的系統上使用ACL
某些系統不支持chmod + a,但確實支持另一個名為setfacl的實用程序。 您可能需要在分區上啟用ACL支持並在使用setfacl之前安裝setfacl(Ubuntu就是這種情況)。 這使用命令來嘗試確定您的Web服務器用戶並將其設置為HTTPDUSER:
$ HTTPDUSER=`ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1`
$ sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs
$ sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.