www-data 对文件/目录的默认权限

www-data 对文件/目录的默认权限

我有一个非常有趣的情况。我有一台运行 Apache/2.2.9 和 PHP 5.2.6-1+lenny10 的 Debian Lenny 服务器。当 Apache 创建新文件(简单的 php 上传脚本或 http svn checkin)时,该文件的权限和所有权是:

www-data test -rwxr-xr-x

创建新目录时,权限和所有权如下:

www-data    test drwxr-sr-x

/etc/profile我已使用更改了服务器umask 0002。此设置应该将新创建的文件设置为 664,将新创建的目录设置为 775。只有当我实际以用户身份登录www-data并通过命令行手动执行此操作时,它才会执行此操作。当 Apache 创建数据时,它不会执行此操作。有没有人见过这种行为?以“www-data”用户身份登录并创建文件与以“www-data”用户身份通过​​ Apache 运行之间有什么区别?文件是否从文件夹继承权限/tmp或类似的东西?我感兴趣的是直接使用 Apache 解决默认权限,而不是实施解决方法。

这是我迄今为止的步骤:

  1. 创建新组(测试)
  2. usermod -a -G 测试 usera
  3. usermod -a -G 测试用户b
  4. 用户组
  5. 使用用户和新组更改 html/ 下所有内容的所有权
  6. chmod 2775 html/
  7. 查找 html/-type d-exec chmod 2775 {} \;
  8. 查找 html/-type f-exec chmod 0664 {} \;
  9. 编辑 /etc/profile,将 umask 设置为 0002
  10. 重新启动 apache 并使用“www-data”用户和站点用户登录和退出

答案1

https://stackoverflow.com/questions/428416/setting-the-umask-of-the-apache-user提到如何在 debian 上为 apache 设置 umask。

/etc/profile 仅由交互式 shell 加载。

相关内容