烂泥: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与以上几个程序的集成使用。
烂泥:apache密码生成工具htpasswd的应用的更多相关文章
- Linux下三个密码生成工具
http://code.csdn.net/news/2820879 想出一个难破解且容易记的密码对不是一件简单的事情.在我为电脑设定一个新密码,或者在线注册了一个新的账号,需要输入密码的时候,脑袋就一 ...
- 复杂密码生成工具apg
复杂密码生成工具apg 密码是身份认证的重要方式.由于密码爆破方式的存在,弱密码非常不安全.为了构建复杂密码,Kali Linux预置了一个复杂密码生成工具apg.该工具可以提供可读密码和随机字符 ...
- 两款不错的Linux密码生成工具
先介绍最简单的方法,Linux自带的 $ strings /dev/urandom | | ; echo whucNWhr35W6ZP0MxrLQ $ /dev/random | base64 | t ...
- 密码生成工具Cupp
Cupp可根据已知信息生成相应的字典,用来爆破很有帮助 首先先安装一下cupp 命令:apt-get install cupp 参数说明: -v查看cupp版本号 -h 查看参数列表 -l 从gith ...
- centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课
centos shell编程4[分发系统] 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要 ...
- 配置apache密码认证
配置apache密码认证 apache提供了一系列的认证,授权,访问控制模块,我们这里选用最方便的mod_auth_basic,mod_authn_file,mod_authz_user这三个 ...
- 【SSM 4】Mybatis逆向生成工具
在上一篇博客中说到,Mybatis是灵活的SQL语句应用,不想Hibernate一样有其封装好的方法,那么,当我们用Mybatis的时候(Hibernate),我们都需要编写其实体类,和配置文件.本篇 ...
- Apache Jakarta Commons 工具集简介
Apache Jakarta Commons 工具集简介[转] Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.我选了一些比较常用的项目做简单介绍.文 ...
- [转帖]公钥基础设施(PKI)/CFSSL证书生成工具的使用
公钥基础设施(PKI)/CFSSL证书生成工具的使用 weilovepan520关注1人评论84344人阅读2018-05-26 12:22:20 https://blog.51cto.com/liu ...
随机推荐
- virtualenvwrapper安装使用
安装 linux和mac下安装 pip install virutalenv virtualenvwrapper windows下安装 pip install virtualenvwrapper-wi ...
- js中typeof的使用方法
typeof在js中是一个一元操作符,可以判断操作数的类型,其返回值为字符串,有number.string.object.boolean.function.undefined.使用方式可以是typeo ...
- JS this,call和apply以及回调函数
this this引用,引用的是一个对象,对象不同或函数调用方式的不同,this引用会根据代码的上下文语境自动改变引用对象的特性. 引用规则 1,在最外层代码中,this引用引用的是全局对象(wind ...
- Maven编译jar出现:无法确定 T 的类型参数的异常的原因和处理方案
出错场景: 代码: public class JsonUtil { private static final Gson gson = new GsonBuilder().setDateFormat(& ...
- ssh默认端口更改后,如何正常使用git?
由于安全或者其它原因,我们可能会修改默认的SSH服务端口号,默认情况下,已有的git项目在pull或者push的时候会报错. 现在假设原来的项目的remote设置为git@domain.com:Pro ...
- 数据库热备之SQLServer的数据库镜像实施笔记
/ 最初在为公司设计SQLServer数据库镜像的时候,首先考虑的是高可用性(三台计算机,一台见证服务器,一台做主数据库,一台做镜像) 在虚拟机环境下部署成功,一切都是那么的完美.故障转移3秒之内就可 ...
- bootstrap源码分析之Carousel
源码文件: Carousel.scssCarousel.js 实现原理: 隐藏所有要显示的元素,然后指定当前要显示的为block,宽.高自适应 源码分析: 1.Html结构:主要分为以四个部分 1. ...
- Java---Condition控制线程通信
java中控制线程通信的方法有:1.传统的方式:利用synchronized关键字来保证同步,结合wait(),notify(),notifyAll()控制线程通信.不灵活. 2.利用Conditio ...
- (20160602)开源第三方学习之SDWebImage
这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理.异步下载.同一个URL下载次数控制和优化等特征. 地址:https://github.com/rs/SDWebIm ...
- 【代码笔记】iOS-轮询弹出框
一,效果图. 二,工程图. 三,代码. RootViewController.m #import "RootViewController.h" //加入弹出框的头文件 #impor ...