我使用以下权限运行我的网站(Magento / Php5.4)
find $path/. -type f -exec chmod 400 {} \;
find $path/. -type d -exec chmod 500 {} \;
find $path/var/ -type f -exec chmod 600 {} \;
find $path/media/ -type f -exec chmod 600 {} \;
find $path/var/ -type d -exec chmod 700 {} \;
find $path/media/ -type d -exec chmod 700 {} \;
我的文件在www
组下运行这些是Magento 1.9网站的推荐设置,一切都很好。我现在遇到的问题是,当我尝试在GIT中合并一个新分支时,我得到以下内容
$ git merge origin/ticket-53
error: unable to create file app/code/local/Wage/Codebase/Block/Adminhtml/Client.php (Permission denied)
fatal: cannot create directory at 'app/code/local/Wage/Codebase/Block/Adminhtml/Client': Permission denied
我的.git文件夹设置为777,我可以将其作为sudo,但这有点无意义。
我是否需要将GIT添加到其他组,或者可能更改我的文件正在运行的组?
答案 0 :(得分:0)
通过将我的整个应用程序设置为以下内容,我能够解决这个问题:
find . -type d -exec chmod 700 {} \;
find . -type f -exec chmod 600 {} \;
现在看来很明显。
所以在部署时我们会将文件夹设置为上面的,在部署之后我们会将权限设置回原来的
我们部署代码后,我们切换回这些权限
find . -type f -exec chmod 400 {} \;
find . -type d -exec chmod 500 {} \;
find var/ -type f -exec chmod 600 {} \;
find media/ -type f -exec chmod 600 {} \;
find var/ -type d -exec chmod 700 {} \;
find media/ -type d -exec chmod 700 {} \;
chmod 700 includes
chmod 600 includes/config.php