簡體   English   中英

無業游民權限Symfony

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM