在 var/www/html/ 上设置正确的权限

在 var/www/html/ 上设置正确的权限

重新安装 15.1 后,我的权限出现了很多问题。我必须不断手动调整权限。这意味着我做错了。

这是我的做法:

我创建了一个文件夹。权限为:所有者:我,组:Jos(我是唯一的用户)。两者都有创建和删除文件的权限。使用这些设置,Joomla 不会删除安装文件夹。手动删除后,我收到错误消息:

No configuration file found and no installation code available. Exiting...

现在我使用以下命令:

sudo chown -R www-data:jos /var/www/html/my_site

所有者现在是www-data(创建和删除)组是jos(创建和删除)。安装工作正常。站点工作正常。但我无法在其中执行任何操作,因为我不是所有者。www-data是,并且我只有访问文件权限。

我正在使用 Lamp。

我该如何正确设置它?

答案1

您的网络用户不应该对您的内容具有写权限,因此要解决此问题,您应该将自己添加到 www-data 组,然后切换您的 chown 命令:

sudo usermod -a -G www-data jos
sudo chown -R jos:www-data /var/www/html/my_site

然后将您的权限设置为 2755(目录)和 644(文件),或者如果您想要更加安全(或更加偏执),则分别设置为 2750 和 640:

find /var/www/html -type f -exec chmod 644 {} \;
find /var/www/html -type d -exec chmod 2755 {} \;

这将允许您的用户 (jos) 对内容拥有写入权限,并允许 www-data 用户拥有所需的读取权限。这也是一种更好的安全做法,因为它禁止 www-data 用户修改内容,从而限制潜在攻击者可能造成的损害。这里要注意的另一件事是,如果 joomla 或其他程序确实需要修改 /var/www/html/my_site 文件夹中的内容,我建议手动仅向这些文件/目录添加写入权限。

chmod g+w /var/www/html/my_site/joomalwriteshere/

由于我注意到您提到了 joomla,这里有一个关于他们推荐的权限的来源链接:https://docs.joomla.org/Verifying_permissions

相关内容