AuthUserFile无法正常工作,可能出错?

时间:2011-10-25 00:30:48

标签: authentication centos httpd.conf .htpasswd

我正在使用CentOS 昨晚我换了服务器。 我的AuthUserFile文件有问题。

我总是被封锁。 我确信:

  1. 路径是真正的路径:

    AuthUserFile /home/rootvideo/.htpasswd
    
  2. /home/rootvideo/.htpasswd.htaccess文件具有0644权限。

  3. httpd.conf在所有文件夹中设为AllowOverride All

  4. 所有mod_auth都已加载。

    LoadModule authn_file_module modules/mod_authn_file.so
    LoadModule authn_alias_module modules/mod_authn_alias.so
    LoadModule authn_anon_module modules/mod_authn_anon.so
    LoadModule authn_dbm_module modules/mod_authn_dbm.so
    LoadModule authn_default_module modules/mod_authn_default.so
    LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
    
  5. 有什么想法吗?

5 个答案:

答案 0 :(得分:4)

供将来参考:

将文件chmodd到0660的父目录为0755,文件的所有者应该是apache用户。对于debian变体(ubuntu),这是www-data。对于CentOS它的apache。

chmod 0660 /mylocation/.htpasswd
chmod 0775 /mylocation
# centOS
chown apache:apache /mylocation/.htpasswd
# ubuntu
chown www-data:www-data /mylocation/.htpasswd

找到您需要的用户:

grep -e '^User' /etc/apache2/apache2.conf
grep -e '^User' /etc/httpd/conf/httpd.conf

答案 1 :(得分:0)

我刚遇到同样的问题。在我的情况下,我在我的配置中输入了一个拼写错误并编写了AuthType而不是AuthName。因此,AuthType被无效值覆盖。对于遇到此问题的其他人,值得仔细检查您的conf文件中是否有任何不正确的AuthType指令。

答案 2 :(得分:0)

只需要在此处添加我的经验。就我而言,我正在开发最近启用了SELinux的Centos服务器。我在.htpasswd文件中获得了权限被拒绝的错误,即使所有权限都设置得如此。

我最终只是禁用了SELinux,因为它只是一个内部服务器,但最好的解决方案当然是更改SELinux设置以允许对apache webuser读取此文件。

答案 3 :(得分:0)

我遇到了同样的问题,我的问题来自一个"隐形角色"。

我删除了AuthUserFile的整行,并再次写了(这一次,不是复制粘贴),它已经修好了!

答案 4 :(得分:0)

我的问题是我在该部分中有Require all granted导致该目录未被任何密码保护。

删除后,密码验证工作正常。

注意:我在ubuntu的apache2 2.4.7上使用WebDAV和密码验证

相关问题