欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

烂泥:apache密码生成工具htpasswd的应用_html/css_WEB-ITnose

程序员文章站 2022-04-28 13:37:09
...
本文由秀依林枫提供友情赞助,首发于烂泥行天下。

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