哪个用户是网站主机?

哪个用户是网站主机?

我正在学习服务器,并且正在配置 Nginx、MySQL、PHP 和 WordPress。服务器发行版是 Debian 6。

我创建了一个新用户,并且我希望每个用户都是站点文件夹的所有者 /var/www/site.one,因此我运行该命令chown -R kossel:kossel site.one

我的问题是,我的 WordPress 只有在我的情况下才能工作chmod 644 wp-config.php,所有人都可以读取wordpress 网站建议该文件应为 640。

我的问题是,当有人打开 mydomain.com 时,WordPress 必须访问 wp-config.php 文件,但它实际上使用哪个用户来“读取”该文件?根用户?用户 kossel?还有其他人吗?我如何正确授予它权限或所有权?

答案1

我创建了一个新用户,我希望每个用户都是站点文件夹的所有者, /var/www/site.one所以我chown -R kossel:kossel site.one

为什么要这么做?文档根目录 ( /var/www/site.one) 应归运行 Web 服务器的用户所有(www-data基于 Debian,apache基于 Red Hat)。

我的问题是,只有当我 chmod 644 wp-config.php 时,我的 wordpress 才能工作,所有这些都可以读取 [wordpress 网站建议][1] 该文件应该是 640。

因为你上面的步骤做错了。

我的问题是:当有人打开 mydomain.com 时,wordpress 必须访问 wp-config.php 文件,但实际上哪个用户是用来“读取”该文件的?root?用户 kossel?还是其他用户?

正如我上面所说,这是www-data用户。您可以通过运行来检查ps -ef | grep nginx

我如何才能正确地授予其权限或所有者?

chown -R www-data:www-data /var/www/site.one
chmod -R 755 /var/www/site.one

答案2

在 Debian 中(大多数情况下),Web 服务器由“www-data”用户运行。如果您希望您的网站正常运行,其文件应可供 www 用户读取(或执行)。因此,您的 wp-config.php 必须可供 www-data 用户读取。为了解决您的问题,您可以做几件事,

  1. 将 www-data 添加到网站所属的组
  2. 将文件夹的组所有权更改为 www-data

通过进行上述更改之一,您可以保留 wp-connfig.php 640。

答案3

查看Apache 软件基金会有了它,您可以以其所有者的名义运行所有网站(虚拟主机)。因此 640 对于 wp-config.php 来说就足够了。

相关内容