我希望 www-data 组中的任何人都具有写入权限/var/www
。例如,如果“a”和“b”在 www-data 组中,并且“a”在其中创建了一个文件/var/www
- 那么“b”将能够编辑它。
问题是我创建了 PHP 和 Apache 无法编辑的文件 - 而它们创建了文件如果没有 sudo 就无法编辑。PHP 和我都在 www-data 组中。
我将 umask 设置/etc/profile
从更改umask 022
为umask 002
。这是安全且正确的处理方法吗?
更新:即使在更改 /etc/profile 并重新启动计算机后,PHP 仍然会创建具有权限的文件-rw-r--r--
。
答案1
在 Debian/Ubuntu 上启动 apache 时,apache 启动脚本会重置所有内容。在 Debian/Ubuntu 系统上,您应该通过将 umask 命令添加到 来更新 umask /etc/apache2/envvars
。您可能还需要将 /var/www 下目录的权限更改为 2775。这将强制新创建的文件归拥有该目录的组所有,而不是该用户的默认组。