Apache 使用错误的用户

Apache 使用错误的用户

由于某种原因,当我上传到我的网站时,Apache 将文件保存为 userwww-data和 group www-data,而不是 usermyusername和 group www-data

我该如何解决?

答案1

Apache 确实将文件保存为 www-data,因为它是运行时使用的用户安全原因

您可以做的是为您的站点创建一个特定的用户和组,并使用 mod-ruid2 将您的虚拟主机配置为使用该用户。

安装方法:

sudo apt-get install libapache2-mod-ruid2

并在虚拟主机中配置它:

    <Directory "/var/www/mydir">
            RMode config
            RUidGid my_new_user my_new_group

每个虚拟主机还可以有不同的用户,这在多虚拟主机服务器中可以很方便,例如,对于具有多个用户的多主机配置,或者了解虚拟主机是否正在发送垃圾邮件。

https://www.jamroom.net/brian/documentation/guides/1202/configuring-apache-with-mod-ruid2

至于文件的所有权,请继续阅读。

在虚拟主机的目录中,您还可以使用 setuid 或 SetGid 目录对其进行配置,对于您作为普通用户保留在那里且也属于该组的任何文件,将被强制分配给该组或用户,而不是您的普通组。

要强制用户所有权,请执行以下步骤:

chown my_new_user.my_new_group /var/www/mydir

设置目录的UID

chmod u+s /var/www/mydir 

设置目录的GID

chmod u+g /var/www/mydir

http://www.toptip.ca/2010/03/linux-setgid-on-directory.html

答案2

您应该能够User在配置中指定不同的配置,无论您想在何处使用它。

例子:

<VirtualHost 12.34.56.78>
  User myusername
</VirtualHost>

答案3

嗯,我刚刚找到了一个解决方案。不确定哪个是最好的,但这就是我所做的,而且似乎工作正常:

sudo nano /etc/apache2/envvars

编辑以下行:

export APACHE_RUN_USER=myusername

相关内容