如何将Symfony2.6文件/文件夹权限/所有权还原为默认值?

时间:2014-12-05 05:32:51

标签: php linux shell symfony

我没有非常可靠的服务器端配置理解,特别是在源文件权限和所有权之间。

尝试解决403问题时(无论何时访问http://symfonyApp.dev/app_dev.php/) 我误导了这个命令:

sudo chmod -R 777 symfonyAppWebRoot

到我的网站根目录

  • symfonyAppWebRoot /应用
  • symfonyAppWebRoot / SRC
  • symfonyAppWebRoot / web etc
  • 等...

目录驻留......

1.)如何将默认权限/所有权恢复到我的symfony app文件/文件夹?

  • 也许有一个特定于symfony的命令?
  • 一个php shell命令? (或shell文件?)

2。)或者有人可以向我解释为什么我得到403响应访问app_dev.php(在一个干净的symfony2.6安装后,那个鲁莽的chmod ..命令)?

2 个答案:

答案 0 :(得分:2)

新鲜的symfony2项目访问权限:

chmod 775 *
chmod 775 app/ app/config app/console
chmod 664 app/AppCache.php app/AppKernel.php app/autoload.php app/bootstrap.php.cache app/check.php app/phpunit.xml.dist app/SymfonyRequirements.php
chmod 664 app/config/* -R 
chmod 777 app/cache app/logs 
chmod 775 app/Resources src/ vendor/ web/ -R
chmod 664 app/Resources/base.html.twig

答案 1 :(得分:1)

我认为你的app_dev.php看起来像这样:

if (isset($_SERVER['HTTP_CLIENT_IP'])
    || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
    || (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1')) || php_sapi_name() === 'cli-server')
) {
    header('HTTP/1.0 403 Forbidden');
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}
//... more stuff

请将header('HTTP/1.0 403 Forbidden');替换为die("It seems like my error has nothing to do with file permissions");,看看会发生什么。如果这没有改变,请继续阅读。

" 1.。)如何将默认权限/所有权恢复到我的symfony应用文件/文件夹?"

您可以使用chgrp -R www-data symfonyAppWebRoot代替chmod -R 777 symfonyAppWebRoot。由于我不知道您文件的原始权限,我不知道如何恢复这些权限,但它会像chmod -R 755 symfonyAppWebROot