我关注了这些指示(在接受的答案中)用于设置我的 /var/www/ 文件夹的权限。
我正在按照说明使用 www-data 组。jdownes 和 testuer1 都是该组的成员。
当 jdownes(或任何其他 www-data 成员)在 /var/www 中创建文件时,他们可以正常编辑该文件。如果 www-data 组中的另一个用户(testuser1)去编辑并保存该文件,他们可以保存但会出现以下错误。
这是 /var/www 的权限以及文件的权限...
我有服务器的 root 访问权限,并且一直使用 putty 而不是 winscp 设置所有权限。问题是新文件的所有者不是 www-data 吗?如果是这样,我如何强制所有新文件使用 www-data 作为所有者?
答案1
这是您需要做的,假设www-data
apache 正在运行的用户和组是,并且/var/www
所有者是您,而组是 www-data
:
chmod 755 /var/www
chmod g+s /var/www
(set groupid chmod g+s
) 将确保新文件与文件夹具有相同的组/var/www
( www-data
)。chmod 755 /var/www
确保 apache(通过 www-data 组)可以读取该文件夹,并且用户具有读写访问权限。您需要拥有足够的权限才能执行此操作。
在 WinSCP 中至少设置组 RX 和用户 RWX,并为文件夹设置 GID /var/www
。
apache 失败的原因是该文件夹的用户和组缺少 X 位(是 0664,应该是 0755),所以无法读取(=执行)该文件夹。
对于文件来说,644 就足够了:您不需要设置 GID。