烂泥: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与以上几个程序的集成使用。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。