Apache模块 mod_authn_file
说明 | 使用纯文本文件为认证提供支持 |
---|---|
状态 | 基本(B) |
模块名 | authn_file_module |
源文件 | mod_authn_file.c |
兼容性 | 仅在 Apache 2.1 及以后的版本中可用 |
概述
该模块为认证前端(mod_auth_digest
和mod_auth_basic
)使用纯文本文件进行用户认证提供支持。mod_authn_dbm
模块也提供类似的功能。
使用mod_auth_basic
或mod_auth_digest
的时候,可以通过在AuthBasicProvider
或AuthDigestProvider
指令中使用file
值调用该模块。
AuthUserFile 指令
说明 | 设定一个含有认证使用的用户名/密码列表的纯文本文件 |
---|---|
语法 | AuthUserFile file-path |
作用域 | directory, .htaccess |
覆盖项 | AuthConfig |
状态 | 基本(B) |
模块 | mod_authn_file |
AuthUserFile
指令设定一个纯文本文件的名称,其中包含用于认证的用户名/密码的列表,File-path是该文件的路径。如果不是绝对路径(也就是说,如果不是以斜杠开始的),则是相对于ServerRoot
的相对路径。
用户文件的每一行包含一个用户名,后跟一个冒号,再跟一个加密过的密码。如果文件中含有重复的用户名,mod_authn_file
模块会用排在最前面的那行定义来验证该用户的密码。
在二进制文件安装包中附带的(或者在"src/support
"中)命令行工具htpasswd
可以用来维护仅用于HTTP基本认证的密码文件。参阅手册页面以获得更详细的说明。
以一个初始帐户username
创建一个密码文件Filename
。它会提示输入密码:
htpasswd -c Filename username
增加或修改密码文件Filename
中的帐号username2
:
htpasswd Filename username2
注意:搜索很大的文本文件是非常慢的;应该使用AuthDBMUserFile
来替代它。
如果使用HTTP摘要认证,就不能使用htpasswd
工具,而要使用htdigest
工具。注意:不能在同一个文件中同时包含用于基本认证和摘要认证的用户数据。
安全
必须确保AuthUserFile
文件存放在WEB服务器目录之外,千万不要放在它所保护的目录中,否则可能会被客户端下载。