htpasswd
建立和更新用于基本认证的存储用户名/密码的文本文件。如果htpasswd
不能读写此文件,它返回一个出错代码,而不做任何修改。
服务器上的资源可以被限制为仅允许由htpasswd
建立的文件中的用户所访问。此程序只能管理存储在文本文件中的用户名和密码,但是它可以加密并显示密码信息,从而可以为其他数据存储类型所利用。要使用DBM数据库,请参见dbmmanage
。
htpasswd
使用专为Apache作了修改的MD5算法或系统函数crypt()
加密密码。htpasswd
所管理的文件可以包含两种类型的密码;有些用户的密码使用MD5加密的,而同一个文件中的其他用户密码则使用crypt()
加密。
本手册页仅列出命令行参数,配置基本认证的相关指令的细节请参见mod_auth_basic
文档。
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
-b
-c
-n
同时使用。-n
-c
同时使用。-m
-d
crypt()
对密码进行加密。在Windows, Netware, TPF以外的平台上这是默认方法。虽然有可能在所有的平台上被htpasswd
支持,但是在Windows, Netware, TPF上,该方法不能被httpd
所支持。-s
-p
htpasswd
在所有平台上都支持这种方法,但是httpd
只能在Windows, Netware, TPF上支持这种方法。-D
username
存在于passwdfile
中,则删除该用户。passwdfile
-c
选项,若文件已存在则更新它,若不存在则创建它。username
password
-b
同时使用。htpasswd
仅在用户名和密码被成功存入passwdfile或成功更新的情况下返回"0
"。若访问文件发生错误则返回"1
";若命令行语法错误则返回"2
";若密码验证失败则返回"3
";若正在进行中的操作被打断则返回"4
";若值(username, filename, password, 计算结果)长度超标则返回"5
";若用户名包含非法字符(参见限制)则返回"6
";若指定的文件不能被正确识别则返回"7
"。
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算法加密,并将其存入指定的文件。
在Windows和MPE平台上,用htdbm
加密的密码最大长度是255
字符。超出部分将被截断。
htdbm
使用的MD5加密算法已经被Apache修改过了,仅能够被Apache识别,不能被其它Web服务器识别。
用户最大长度是255
字节,并且不能包含冒号(:
)。