htpasswd
用于创建和更新用于存储HTTP用户基本身份验证的用户名和密码的平面文件。如果
htpasswd
无法访问文件,例如无法写入输出文件或无法读取文件以更新文件,则它将返回错误状态并且不进行任何更改。
可将Apache HTTP服务器上可用的资源限制为仅由所创建的文件中列出的用户htpasswd
。该程序只能管理存储在平面文件中的用户名和密码。但是,它可以加密和显示密码信息,以供其他类型的数据存储使用。要使用DBM数据库,请参见dbmmanage
或
htdbm
。
htpasswd
使用bcrypt(为Apache,SHA1或系统crypt()
例程修改的MD5版本)对密码进行加密
。由管理的文件htpasswd
可能包含多种不同编码类型的密码;某些用户记录可能具有bcrypt或MD5加密的密码,而同一文件中的其他用户记录可能具有的加密密码crypt()
。
本手册页仅列出命令行参数。有关配置用户身份验证所必需的指令的详细信息,
httpd
请参阅Apache手册,该手册是Apache发行版的一部分,或者可以在http://httpd.apache.org/上找到。
htpasswd
[ -c ]
[ -i ]
[ -m |
-B |
-d |
-s |
-p ]
[ -C cost ]
[ -D ]
[ -v ] passwdfile username
htpasswd -b
[ -c ]
[ -m |
-B |
-d |
-s |
-p ]
[ -C cost ]
[ -D ]
[ -v ] passwdfile username
password
htpasswd -n
[ -i ]
[ -m |
-B |
-d |
-s |
-p ]
[ -C cost ] username
htpasswd -nb
[ -m |
-B |
-d |
-s |
-p ]
[ -C cost ] username
password
-b
-i
选项。在2.4.4及更高版本中可用。-i
-c
-n
选项组合使用。-n
-c
选项结合使用。-m
-B
-C
-B
(bcrypt加密)结合使用,才允许使用此标志。它设置用于bcrypt算法的计算时间(越高,越安全,但越慢,默认值:5,有效值:4到17)。-d
crypt()
对密码使用加密。httpd
Windows和Netware上的服务器不支持此功能。此算法将密码长度限制为8个字符。按照当今的标准,该算法是不安全的。在2.2.17版之前,它一直是默认算法。-s
-p
htpasswd
将在所有平台上支持创建,但该httpd
守护程序仅在Windows和Netware上接受纯文本密码。-D
-v
passwdfile
-c
给出,则创建该文件(如果尚不存在),或者重写并截断(如果存在)。username
password
-b
标志一起使用。htpasswd
如果用户名和密码已在passwdfile中成功添加或更新,则返回零状态(“ true”)
。htpasswd
返回1
如果遇到一些问题访问文件,2
如果有一个语法问题,在命令行中,3
如果密码是交互输入和验证条目不匹配,
4
如果操作被中断,5
如果一个值太长(用户名,文件名,密码或最终计算的记录),
6
如果用户名包含非法字符(请参阅“
限制”部分),并且7
该文件不是有效的密码文件。
htpasswd /usr/local/etc/apache/.htpasswd-users jsmith
添加或修改用户的密码jsmith
。提示用户输入密码。密码将使用修改后的Apache MD5算法进行加密。如果文件不存在,htpasswd
除了返回错误外,
什么都不做。
htpasswd -c /home/doe/public_html/.htpasswd jane
创建一个新文件并将记录存储在其中以供user使用jane
。提示用户输入密码。如果文件存在并且无法读取或写入,则不会更改该文件,并且htpasswd
会显示一条消息并返回错误状态。
htpasswd -db /usr/web/.htpasswd-all jones Pwd4Steve
Pwd4Steve
使用该crypt()
算法从命令行()加密密码,并将其存储在指定的文件中。
如由管理网络的密码文件htpasswd
应该
不会是Web服务器的URI空间中, -也就是说,他们不应该是可提取使用的浏览器。
该程序作为setuid可执行文件并不安全。千万不能让它的setuid。
-b
不建议使用该选项,因为使用该选项时,未加密的密码会出现在命令行中。
使用crypt()
算法时,请注意,仅使用密码的前8个字符来构成密码。如果提供的密码更长,多余的字符将被静默丢弃。
SHA加密格式不使用盐化:对于给定的密码,只有一个加密的表示形式。在crypt()
前面加上一个随机字符串盐,使对密码字典攻击的难度和MD5格式置换表示。
crypt()
按当今的标准,SHA和格式是不安全的。
在Windows平台上,使用加密的密码的
长度限制htpasswd
为不超过255
字符。较长的密码将被截断为255个字符。
所使用的MD5算法htpasswd
特定于Apache软件。使用它加密的密码将无法在其他Web服务器上使用。
用户名限制为255
字节,并且不能包含字符:
。
计算bcrypt密码哈希值的成本随着该-C
选项指定的回合数而增加。该apr-util
库在版本1.6.0
及更高版本中强制执行最大回合数17次。