【问题标题】:Best practice: Files/Folders permission/owner in symfony2最佳实践:symfony2 中的文件/文件夹权限/所有者
【发布时间】:2013-05-10 13:10:51
【问题描述】:

symfony2 的内核需要写入缓存(作为 http 用户)。由于这些原因,我还需要读取/写入文件夹:

  1. IDE 需要在文档根目录中读取/写入/创建
  2. 在 shell 中,我的用户应该能够生成捆绑包并清除缓存
  3. 我的用户应该能够操作 .git 文件夹(通过暂存和提交)
  4. 我正在推送到远程/生产服务器,这应该由我的用户完成

设置文档根目录及其下文件的所有权和权限的最佳做法是什么?

谢谢

【问题讨论】:

    标签: apache security symfony permissions web-deployment


    【解决方案1】:

    获得许可,您可以阅读此http://symfony.com/doc/2.0/book/installation.html#configuration-and-setup

    ACL 是允许您的用户和 Web 服务器用户管理文件系统上的文件的好方法。

    要部署您的应用程序,您可以使用http://capifony.org

    希望对你有帮助。

    最好的尊重。

    【讨论】:

      【解决方案2】:

      我为此使用ACL。 假设您的用户是 arsham 而 apache 组是 www-data

      创建一个文件夹来保存您开发的所有应用程序的文档根

      sudo mkdir -p /var/vhosts
      sudo chown arsham:www-data  /var/vhosts
      

      接下来我们为用户和组设置 rwx 权限 + SGID 位,以便新文件和文件夹将跟随父目录组。

      sudo chmod 770 /var/vhosts
      sudo chmod g+s /var/vhosts
      

      接下来我们通过 ACL 为新文件设置默认权限

      sudo setfacl -dm u::rwx /var/vhosts
      sudo setfacl -dm g::rwx /var/vhosts
      sudo setfacl -dm u:arsham:rwx /var/vhosts
      sudo setfacl -dm g:www-data:rwx /var/vhosts
      sudo setfacl -m u:arsham:rwx /var/vhosts
      sudo setfacl -m g:www-data:rwx /var/vhosts
      

      现在,您只需为新项目创建文档根目录:

      cd /var/vhosts && mkdir newproject
      

      注意,如果需要修改已有文件的权限, 您需要运行 setfaclchmod 并包含 -R(递归)选项

      【讨论】:

        猜你喜欢
        • 2014-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-15
        • 1970-01-01
        • 1970-01-01
        • 2013-11-18
        • 2012-12-15
        相关资源
        最近更新 更多