> Apache2.2 中文手册 > htpasswd

htpasswd - 管理用于基本认证的用户文件

htpasswd建立和更新用于基本认证的存储用户名/密码的文本文件。如果htpasswd不能读写此文件,它返回一个出错代码,而不做任何修改。

服务器上的资源可以被限制为仅允许由htpasswd建立的文件中的用户所访问。此程序只能管理存储在文本文件中的用户名和密码,但是它可以加密并显示密码信息,从而可以为其他数据存储类型所利用。要使用DBM数据库,请参见dbmmanage

htpasswd使用专为Apache作了修改的MD5算法或系统函数crypt()加密密码。htpasswd所管理的文件可以包含两种类型的密码;有些用户的密码使用MD5加密的,而同一个文件中的其他用户密码则使用crypt()加密。

本手册页仅列出命令行参数,配置基本认证的相关指令的细节请参见mod_auth_basic文档。

htpasswd

语法

htpasswd [ -c ] [ -m ] [ -D ] passwdfile username

htpasswd -b [ -c ] [ -m | -d | -p | -s ] [ -D ] passwdfile username password

htpasswd -n [ -m | -d | -s | -p ] username

htpasswd -nb [ -m | -d | -s | -p ] username password

htpasswd

httpd所支持。
-s
使用 SHA 对密码进行加密。这种方法易于通过LDAP目录交换格式和Netscape server进行交换。
-p
使用明文密码(不加密)。虽然htpasswd在所有平台上都支持这种方法,但是httpd只能在Windows, Netware, TPF上支持这种方法。
-D
如果username存在于passwdfile中,则删除该用户。
passwdfile
包含用户名和密码的文本文件的名称。如果使用了 -c 选项,若文件已存在则更新它,若不存在则创建它。
username
passwdfile中添加或更新记录。若username不存在则添加一条记录,若存在则更新其密码。
password
将被加密并存储到文件中的明文密码。必须和 -b 同时使用。

htpasswd

限制)则返回"6";若指定的文件不能被正确识别则返回"7"。

htpasswd

示例

htpasswd /usr/local/etc/apache/.htpasswd-users jsmith

添加或修改用户jsmith的密码。密码将被提示输入。在Windows平台上,密码将使用Apache修改过的MD5算法进行加密;在其它平台上将使用crypt()进行加密。如果指定的文件不存在,htpasswd将只返回一个错误代码,而不做其它任何事。

htpasswd -c /home/doe/public_html/.htpasswd jane

创建一个新文件并在其中添加一条用户jane的记录。密码将被提示输入。如果文件存在但是不能被读取或写入,则不会有任何记录被修改,同时htpasswd将会显示一个错误信息并返回一个错误代码。

htpasswd -mb /usr/web/.htpasswd-all jones Pwd4Steve

将来自命令行的密码(Pwd4Steve)使用MD5算法加密,并将其存入指定的文件。

htpasswd

安全方面的考虑

Web密码文件(比如由htpasswd管理)不应当存在于网络空间中,即不能被客户端有机会访问。

我们反对使用 -b 选项,因为密码将以明文的形式出现在命令行中。

htpasswd

限制

在Windows和MPE平台上,用htdbm加密的密码最大长度是255字符。超出部分将被截断。

htdbm使用的MD5加密算法已经被Apache修改过了,仅能够被Apache识别,不能被其它Web服务器识别。

用户最大长度是255字节,并且不能包含冒号(:)。

上一篇:
下一篇: