为多个开发人员和 Apache 设置 Web 文件夹

为多个开发人员和 Apache 设置 Web 文件夹

我正在尝试使用 Ubuntu 14.04 在 LAMP 上设置一个 Web 文件夹,其中:

  1. Apache/PHP 可以读取里面的所有内容。(接收对于文件夹和r--对于文件)
  2. “devs”组中的多个用户可以在内部执行任何操作。(读写对于文件夹和rw-对于文件)
  3. 新创建的文件夹和文件具有与上述相同的属性。

我知道这个答案一开始看上去很不错,直到我尝试从网络访问时出现 403 权限被拒绝的情况。


我是否应该只使用一个可以修改 Web 文件夹的“dev”用户?

我也可以使用 ACL?

编辑 :不是重复的https://serverfault.com/a/357109/354883因为它不能解决新创建的文件的问题。

我的解决方案:由于我在标准权限系统上没有找到任何可以完全满足我要求的东西,所以我检查了 ACL。

我做了什么:

  • sudo apt-get install acl 你可能还想挂载你的分区以便启用 ACL
  • sudo setfacl -Rm g:coders:rwx,g:www-data:r-x,o:--- webfolder
  • sudo setfacl -Rm d:g:coders:rwx,d:g:www-data:r-x,d:o:--- webfolder

答案1

对于 Apache 和“dev”组的用户,有权限做任何事你应该:

包括属于组“dev”www-data 组的用户,并在组“dev”中添加 www-data 用户

更改 umask 默认 Apache 和组“dev”的用户

  1. 添加或编辑 /etc/apache2/envvars

    umask 002

    /etc/init.d/apache2 restart

  2. 添加或编辑 ~/.bashrc 您的用户(或增强它

    umask 002

    chmod 775 -R webfolder

笔记:请注意,这样所有属于“dev”的用户都将有权修改所有用户“dev”创建的文件。这对您的结构来说可能是危险的

相关内容