开发服务器上 apache webroot 文件夹的权限?

开发服务器上 apache webroot 文件夹的权限?

我是一名 Web 开发人员,在本地系统上安装了 Apache 进行测试。

我一直遇到权限问题,例如,除非我将任何新目录的 chmod 更改为 777,否则我的 IDE 无法写入那里的文件。

我希望有一种方法可以将我自己添加到可以控制该www文件夹(以及任何子文件夹)的组中,这样我就不必每次都对文件进行 chmod 操作。

答案1

我正在处理相关问题,但对于你的情况,你可以将自己添加到网络组

sudo adduser $USER www-data

替换USER$为你的用户名当然。 www-data是用于 apache web 访问的组。

答案2

使用 777 只是因为它“有效”。您可以使用更简单的符号,例如u+rwx为了给出用户正确的权限。g对于组、u对于“用户”和o对于“其他人”。chmod ugo+rwx则等于 777;任何人都可以对任何文件或目录执行任何操作。通常不是您想要的。

您可能希望使用 对该目录使用 setgid chmod g+s。这样​​,当有人更改文件时,组所有权将保持不变。此外,当您创建新文件和目录时,这将被继承。

答案3

如果你使用桌面环境,你可以这样做。
打开终端并输入:

gksudo nautilus

输入密码并按 Enter。导航到 www 文件夹并右键单击。选择属性,然后选择权限。现在您可以更改访问权限。
要退出 Nautilus,只需关闭它,要关闭终端,同上。

答案4

如果您只是想添加您的用户,您可以这样做:

sudo chgrp -R yourusername /var/www
sudo find /var/www -type d -exec chmod g=rwxs {} \;
sudo find /var/www -type f -exec chmod g=rws {} \; 

替换yourusername为您要添加的实际用户名。最后一件事,您可以通过重复该命令继续添加用户名,只需输入他们的用户名即可。

希望这可以帮助!

来源

相关内容