烂泥:apache密码生成工具htpasswd的应用
1、 htpasswd的作用与安装
2、 htpasswd命令详解
3、 htpasswd的实例
4、 htpasswd的应用
一、htpasswd的作用与安装
htpasswd是apache的一个工具,该工具主要用于建立和更新存储用户名、密码的文本文件,主要用于对基于http用户的认证。
htpasswd的安装很简单,它是随apache的安装而生成。这点与ab工具是一样的,如果哪位童鞋有不明白的地方可以查看《烂泥:apache性能测试工具ab的应用》这篇文章。
如果apache是通过RPM的yum方式进行安装的话,该命令存放在/usr/bin/目录下,如下:
which htpasswd
/usr/bin/htpasswd
如果apache是源码方式安装的话,该命令存放在apache安装目录的bin目录下,如下:
/usr/local/apache2/bin
htpasswd命令用法,我们可以通过htpasswd的帮助进行查看,如下:
htpasswd -h
二、htpasswd命令详解
在第一部分中,我们查看了htpasswd的帮助信息。现在我们来讲解下帮助信息中的相关参数。
htpasswd的帮助信息如下:
htpasswd -h
htpasswd [-cmdpsD] passwordfile username
htpasswd -b[cmdpsD] passwordfile username password
htpasswd -n[mdps] username
htpasswd -nb[mdps] username password
htpasswd命令选项参数说明:
-c创建一个加密文件。
-n不更新加密文件,只将htpasswd命令加密后的用户名和密码显示在屏幕上。
-m默认htpassswd命令采用MD5算法对密码进行加密,该参数默认情况下可以不加。
-d表示htpassswd命令采用CRYPT算法对密码进行加密。
-s表示htpassswd命令采用SHA算法对密码进行加密。
-p表示htpassswd命令不对密码进行进行加密,即明文密码。
-b表示在htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码。
-D表示删除指定的用户。
三、htpasswd的实例
在第二步中,我们列出了htpasswd的参数说明,现在我们来通过实例,介绍如何使用这些参数。
3.1利用htpasswd命令添加用户
通过htpasswd命令来添加一个用户,我们可以使用-b和-c参数。如下:
htpasswd -bc ilannifile ilanniuser 123456
cat ilannifile
htpasswd -bc ilannifile ilanniuser 123456
表示在当前目录下生成一个ilannifile密码文件,并新增一个用户名为ilanniuser密码为123456的用户,默认采用MD5加密方式加密。
3.2在原有密码文件中新增用户
在原有的密码文件中新增一个用户,我们可以使用-b参数。如下:
htpasswd -b ilannifile ilannitwo 123456
cat ilannifile
htpasswd -b ilannifile ilannitwo 123456
表示在ilannifile密码文件中新增一个用户名为ilannitwo,密码为123456的用户。
注意:此时-c参数一定不能添加,否则会覆盖原来的密码文件再创建一个新的密码文件。
3.3不更新密码文件,只显示加密后的用户名和密码
要不更新密码文件,而只显示加密后的用户名和密码,我们可以使用-n参数。如下:
htpasswd -n ilannitwo
注意-n参数后面一定要跟密码文件中已经存在的用户。说实话,这个参数没有多大的实际意义。
3.4利用htpasswd命令删除用户名和密码
要删除已经在密码文件存在的用户,我们可以通过-D参数来实现。如下:
htpasswd -D ilannifile ilannitwo
3.5利用htpasswd命令修改用户密码
要达到这个目的,我们需要先利用htpasswd命令删除指定用户,然后再利用htpasswd创建用户即可实现修改密码的功能。如下:
四、htpasswd的应用
htpasswd可以与nagios、SVN、nginx、apache等进行集成使用,在此我们就不一一介绍。我们后续会单独介绍htpasswd与以上几个程序的集成使用。