我正在尝试在 Apache(在 Ubuntu 10.04 上运行)上使用 PAM 设置 HTTP Basic 身份验证。
我有一个使用 SSL 设置的 VirtualHost,以及以下用于 HTTP 基本身份验证的选项:
AuthBasicAuthoritative off
AuthPAM_Enabled On
AuthType Basic
AuthName "PAM"
require valid-user
然而,尽管我拥有正确的凭证,PAM 还是拒绝让我登录。
以下是我在 auth.log 中的内容:
unix_chkpwd[25522]: password check failed for user (test)
apache2: pam_unix(apache2:auth): authentication failure; logname= uid=33 euid=33 tty= ruser= rhost=XX.XX.XX.XX user=test
这是否与 HTTPS 将加密密码发送给 Apache,而 Apache 以某种方式无法解密,而是直接将其发送给 PAM 有关?
非常感谢您的帮助。
答案1
最有可能的是您正在使用基于文件的名称服务,而 apache 无法读取/etc/shadow
。