Apache 2.0手册中文版翻译项目 [本文译者: flytosea + ]

项目说明 | 项目进度 | 项目讨论区 | Apache手册中文版

 


mod_auth - Apache HTTP服务器
<-
Apache主站 > HTTP服务器 > 文档 > 2.0版本 > 模块索引

Apache模块 mod_auth

说明:使用文本文件来执行使用者认证
状态:Base
模块名:auth_module
源文件:mod_auth.c
兼容性:Available only in versions prior to 2.1

概要

认证This module allows the use of HTTP Basic Authentication to restrict access by looking up users in plain text password and group files. Similar functionality and greater scalability is provided by mod_auth_dbm. HTTP Digest Authentication is provided by mod_auth_digest.

指令索引

参见

top

AuthAuthoritative 指令

说明:Sets whether authorization and authentication are passed to lower level modules
语法:AuthAuthoritative On|Off
默认值:AuthAuthoritative On
上下文:目录, .htaccess
覆盖项:AuthConfig
状态:Base
模块:mod_auth

设定这个AuthAuthoritative指令可以在没有 userIDrule 和提供的uerID匹配的情况下关闭认证和认证被传递到更低的模块(在 modules.c 中定义)这两个功能。如果有指定的userID 和/或 rule ; 将申请通常的密码和访问检查,如果检查失败则反馈一个"需要认证"的信息。

So if a userID appears in the database of more than one module; or if a valid Require directive applies to more than one module; then the first module will verify the credentials; and no access is passed on; regardless of the AuthAuthoritative setting.

A common use for this is in conjunction with one of the database modules; such as mod_auth_dbm, mod_auth_msql, and mod_auth_anon. These modules supply the bulk of the user credential checking; but a few (administrator) related accesses fall through to a lower level with a well protected AuthUserFile.

By default control is not passed on and an unknown userID or rule will result in an "Authentication Required" reply. Not setting it thus keeps the system secure and forces an NCSA compliant behaviour.

Security

Do consider the implications of allowing a user to allow fall-through in his .htaccess file; and verify that this is really what you want; Generally it is easier to just secure a single .htpasswd file, than it is to secure a database such as mSQL. Make sure that the AuthUserFile and the AuthGroupFile are stored outside the document tree of the web-server; do not put them in the directory that they protect. Otherwise, clients will be able to download the AuthUserFile and the AuthGroupFile.

top

AuthGroupFile 指令

说明:指令设定一个文本文件的名称,这个文本文件包含用来执行用户认证的用户组列表
语法:AuthGroupFile 文件路径
上下文:目录, .htaccess
覆盖项:AuthConfig
状态:Base
模块:mod_auth

这个 AuthGroupFile设定一个文本文件的名称,这个文本文件包含用来执行用户认证的用户组列表。文件路径 是存放用户组列表文件的路径。 如果不是绝对路径,则是相对ServerRoot设置的服务器基础目录的相对路径。

这个用户组列表文件每行含一个用户组名称,后跟一个冒号,再跟该组用户的用户名称,用户名间以空格分隔。

示例:

mygroup: bob joe anne

注意搜索很大的文本文件是 非常 缺乏效率的; AuthDBMGroupFile提供了更出色的性能。

安全

确信你的AuthGroupFile文件存放在了WEB服务器所在路径以外的目录中; 千万不要 把它放在它保护的目录中。否则客户端将不能访问到这个AuthGroupFile文件

top

AuthUserFile 指令

说明:设定一个文本文件名称,这个文件含有认证用的用户名、密码列表。
语法:AuthUserFile 文件路径
上下文:目录, .htaccess
覆盖项:AuthConfig
状态:Base
模块:mod_auth

这个 AuthUserFile 指令设定一个文本文件名称,这个文件含有认证用的用户名、密码列表。文件路径 是存放用户文件的路径。 如果不是绝对路径 (也就是说, 如果不是以斜杠开始的 ), 则是相对 ServerRoot设置的服务器基础目录的相对路径。

用户文件的每一行包含一个用户名,后跟一个冒号,再跟一个加密过的密码。 如果文件中含有相同用户名, mod_auth 模块会用排列在最前面的那行定义来验证该用户的密码。

在二进制文件安装包中附带的,或可以在 src/support 中找到的命令 htpasswd 是用来维护密码文件的。参阅帮助文件可以获得更详细的说明。简单说:

以一个初始帐户 username 创建一个密码文件 Filename 。它会提示输入密码:

htpasswd -c Filename username

增加或修改密码文件 Filename 中的帐号 username2

htpasswd Filename username2

注意搜索很大的文本文件是 非常 缺乏效率的;应该使用 AuthDBMUserFile来替代它。

安全

确信你的 AuthUserFile文件存放在了WEB服务器所在路径以外的目录中。千万不要 把它放在它保护的目录中。否则客户端将不能访问到这个 AuthUserFile 文件。

 


项目维护者: kajaa [本文译者: flytosea + ]

项目说明 | 项目进度 | 项目讨论区 | Apache手册中文版