httpd htpasswd命令

Posted 骏马金龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了httpd htpasswd命令相关的知识,希望对你有一定的参考价值。

apache httpd系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html


htpasswd用于为指定用户生成基于网页用户身份认证的密码,由httpd-tools软件包提供。支持3种加密算法:MD5、SHA和系统上的crypt()函数,不指定算法时,默认为md5。

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
选项说明:
passwdfile:包含用户名及其密码的用户密码文件。如果使用了"-c"选项,则会创建或覆盖文件。不使用"-n"选项时必须指定passwdfile参数。
username:为指定的用户名创建密码。如果该用户记录已存在,则更新。
-c:创建用户密码文件passwdfile,如果文件已经存在则会覆盖已存在的文件。不能和"-n"一起使用。
-n:在标准输出中输出结果,而不是将其写入到用户密码文件中。该选项会忽略用户密码文件passwdfile参数。不能和"-c"选项一起使用。
-m:使用MD5加密算法。默认。
-d:使用crypt()函数计算密码,不安全。
-s:使用SHA加密算法。安全。
-P:强制不加密密码,保持明文状态,不安全。
-B:强制bcrypt加密密码,非常安全。
-D:从用户密码文件中删除指定的用户及其密码。
-b:使用批处理模式,即非交互模式,可以直接待加密的传递明文密码。
password:指定要输入的明文密码。只能在批处理模式中使用,即和"-b"一起使用。

例如:

(1).使用"-n"选项直接将结果输出到标准输出而不创建passwdfile。

[root@xuexi ~]# htpasswd -n Jim
New password: 
Re-type new password: 
Jim:ZKHud9tziGucY

(2).使用批处理模式直接传递密码。

[root@xuexi ~]# htpasswd -nb Jim 123456 ; htpasswd -nb Jim 123456
Jim:r.BF8RVw56BOA

Jim:xXoNgOS8nN3LQ

发现密码完全是随机的。

(3).创建用户密码文件passwdfile。

[root@xuexi ~]# htpasswd -cb Bobfile Bob 123456
[root@xuexi ~]# cat Bobfile 
Bob:fvUxzB3kcnDPk

(4).删除用户文件中的某用户。

[root@xuexi ~]# htpasswd -D Bobfile Bob

(5).使用sha和md5加密算法计算密码。

[root@xuexi ~]# htpasswd -mb Bobfile Bob 123456
[root@xuexi ~]# cat Bobfile 
Bob:$apr1$bllkodFt$GUmeb8hXngOAschs1SBgq0
[root@xuexi ~]# htpasswd -sb Bobfile Bob 123456 
[root@xuexi ~]# cat Bobfile  
Bob:{SHA}fEqNCco3Yq9h5ZUglD3CZJT4lBs=

以上是关于httpd htpasswd命令的主要内容,如果未能解决你的问题,请参考以下文章

在Linux中安装httpd执行make命令报错“make[2]: *** [htpasswd] 错误 1“

Nginx 加密访问(访问限制)

htpasswd: command not found

nginx开启认证

Nginx访问控制和虚拟主机

dockce启动httpd+git