6

在 DreamHost 共享主机上,我正在设置 htpasswd,但 Apache 没有读取文件的权限。我如何授予它权限?我想更改.htpasswd文件的所有者或组,而不是给它不安全的权限。我认为我无权访问该httpd.conf文件,因此无法使用此方法查找 Apache 以. 此外,运行topps aux仅显示我正在运行的进程但不显示 apache 进程。

根据cat /etc/passwdand的输出cat /etc/group,我猜它是www-data.

好吧,我按照Dreamhost 上的密码保护目录的说明进行操作。它生成了一个目录,其中包含一个.htpasswd具有组dhapache和权限的文件440。它还.htaccess在我的小组下放了一个文件。出于某种原因,当我尝试时,chgrp dhapache test_file.txt我得到了chgrp: changing group of 'test_file.txt': Operation not permitted. 因此,我只是将.htpasswdDreamHost 生成的文件移到了我想要的位置并编辑了.htaccess它生成的文件,尽管它有警告。

4

2 回答 2

10

实际上,您不需要访问 httpd.conf:

ps aux | grep apache2
groups apache_user

应该产生你想要的

于 2010-11-30T18:38:52.680 回答
4

我遇到了一些问题,导致我找到了另一个解决方案。但它仅在您有权访问配置文件时才有效

我们实际上可以检查\etc\apache2\envars文件中的用户和组。这是 Apache 设置环境变量并在应用程序中使用它的地方。

寻找这两行:

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

请注意,这只是设置环境变量。实际设置 apache 以用户/组实际在\etc\apache2\apache2.conf

User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

文件的位置可能与我不同,但你应该明白。

于 2015-12-22T03:50:14.900 回答