我刚刚将 Apache 从 2003 版升级到了干净整洁的全新 2.4.1 版。除了一件引人注目的事情外,一切似乎都很好:
在我的 httpd.conf 文件中,我有以下内容:
<Directory />
AllowOverride none
Options FollowSymLinks
AuthType Basic
AuthName "Enter Password"
AuthUserFile /var/www/.htpasswd
Require valid-user
</Directory>
Run Code Online (Sandbox Code Playgroud)
这应该只允许指定身份验证文件中的用户访问服务器 - 就像在旧版本的 Apache 下一样。(对?)
但是,它不起作用。在不提供身份验证的情况下授予请求。当我将日志记录切换到 LogLevel Debug 时,对于访问,它说:
[Sat Mar 24 21:32:00.585139 2012] [authz_core:debug] [pid 10733:tid 32771] mod_authz_core.c(783): [client 192.168.1.181:57677] AH01626: authorization result of Require all granted: granted
[Sat Mar 24 21:32:00.585446 2012] [authz_core:debug] [pid 10733:tid 32771] mod_authz_core.c(783): [client 192.168.1.181:57677] AH01626: authorization result of <RequireAny>: granted
Run Code Online (Sandbox Code Playgroud)
我真的不知道这意味着什么 - 我(据我所知)在我的任何文件中都没有任何“要求全部授予”或“”声明。
任何想法为什么这不起作用,或者在哪里调试?
更新:
我在 SSL …
我正在使用 sshd,并允许使用公钥身份验证登录。
我希望允许选择的用户使用 PAM 两因素身份验证模块登录。
有什么方法可以为特定用户允许 PAM 两因素身份验证?
出于同样的原因 - 我只想为特定帐户启用密码身份验证。我希望我的SSH服务拒绝密码验证企图阻挠想成为黑客进入以为我不会接受密码验证-除了其中有人知道我的戒备森严的秘密账户,该账户的情况下是启用密码。我想在我的 SSH 客户端不允许我执行密钥或双因素身份验证的情况下执行此操作。