我知道 中的文件的所有者/var/www
必须是www-data
才能由 apache 正确运行。但是当我运行命令时,chown -R www-data:www-data /var/www
我无法在编辑器中找到 php 文件。
我怎样才能在不弄乱权限的情况下编辑文件?
答案1
注意所有权:
chown -hR www-data:www-data /var/www
确保该组可以读取和写入文件。这才不是使其能够改变任何权限:
chmod -R g+rw /var/www
位x
。确保该组被允许列出目录,但无权执行文件:
find /var/www -type d -ls -exec chmod g+x {} ';'
将您自己添加到组 www-data,以便您可以使用该组的权限:
usermod -aG www-data your-user
答案2
文件的所有者不必是www-data
才能apache
正常工作。要求是以apache
身份运行的服务器www-data
必须能够读取文件。大多数系统默认允许组读取访问权限,因此让文件上的组是就www-data
足够了。
服务器apache
需要能够写入动态内容,例如 wiki、内容上传目录和缓存。否则,阻止服务器apache
写入其内容目录和文件更为安全。
考虑将所有权更改为需要修改内容的用户。将他们添加到组www-data
。您还可以在 /var/www 目录上设置组粘性位。如果您是用户,则可以执行这些命令。
sudo chmod g+s /var/www
sudo usermod -aG www-data $LOGNAME
sudo chown -R $LOGNAME /var/www
注销并重新登录即可访问 www-data 组。然后您就可以修改内容了。
答案3
chown -R www-data:www-data /var/www
chmod 766 /var/www -R
这将授予您的用户写权限。