国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Linux下部署Symfony2對app/cache和app/logs目錄的權限設置

2019-11-15 01:51:39
字體:
來源:轉載
供稿:網友
linux下部署Symfony2對app/cache和app/logs目錄的權限設置

  在linux下部署完Symfony2,可能在訪問的時候會報app/logs或者app/cache目錄沒有寫權限的錯誤。在linux下,如果我們在命令行登陸的用戶和web應用服務器(apache、nginx等)的用戶不一樣的時候,

可以使用下面四個方法來解決這個問題。

  

  1、在支持chmod +a 的系統下使用ACL

  很多版本的linux系統都支持chmod +a命令,所以我們優先使用這個命令。找出web應用服務器的用戶名賦值到變量HTTPDUSER上。

1 $ rm -rf app/cache/*2 $ rm -rf app/logs/*3 4 $ HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d/  -f1`5 $ sudo chmod +a "$HTTPDUSER allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs6 $ sudo chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs

  第四行命令是:找出web應用服務器的用戶名賦值給變量HTTPDUSER;第五行命令是:賦予web應用服務器對app/logs或者app/cache目錄讀、寫、創建目錄等權限;第六行命令是:賦予命令行登陸用戶對app/logs或者app/cache目錄讀、寫、創建目錄等權限。

  2、如果系統不支持chmod +a ,那么就使用setfacl命令來設置ACL

  首先要確定目錄所在分區支持ACL和已經安裝setfacl命令。

1 $ HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d/  -f1`2 $ sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs

  如果不起作用,在第二行命令添加 -n 選項。

  3、不使用ACL

  如果不是使用ACL,還可以改變umask,使這兩個目錄的用戶組有創建和修改文件的權限(775,并且web應用服務器和命令行用戶在同一個組)或者所有用戶都擁有創建和修改文件的權限(777),但是這兩組權限都是不安全的,給予的權限過高。把下面的代碼添加到app/console,web/app.phpweb/app_dev.php文件的首行。

1 umask(0002); // 生成的目錄(app/cache和app/logs)權限為07752 3 // 或者4 5 umask(0000); // 生成的目錄(app/cache和app/logs)權限為0777

  注:php的umask命令是非線程安全的。

  4、命令行登陸的用戶和web應用服務器的用戶為同一個用戶。

    


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 响水县| 大兴区| 仁布县| 光泽县| 政和县| 紫云| 墨竹工卡县| 鄂伦春自治旗| 伊春市| 迁西县| 确山县| 柳林县| 谷城县| 墨玉县| 葫芦岛市| 从化市| 太康县| 岳阳县| 阿拉尔市| 阜新| 平山县| 工布江达县| 博湖县| 青龙| 江口县| 钦州市| 凤城市| 揭西县| 锦州市| 舟曲县| 周宁县| 铜川市| 玉屏| 曲阳县| 黑水县| 弥渡县| 长治县| 锡林浩特市| 鄂托克前旗| 武邑县| 博湖县|