htpasswd命令的使用
htpasswd的基本用法
htpasswd是Apache服务器中生成用户认证的一个工具,仅说明htpasswd的用法:
htpasswd参数
-c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容.
-n 不更新passwordfile,直接显示密码
-m 使用MD5加密(默认)
-d 使用CRYPT加密(默认)
-p 使用普通文本格式的密码
-s 使用SHA加密
-b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互
-D 删除指定的用户
#创建密码文件,创建用户test
[root@os1 ~]# htpasswd -c passwd test
New password:
Re-type new password:
Adding password for user test
[root@os1 ~]# cat passwd
test:$apr1$plhRTg52$UQMbT9r/hO2iRlM8E9y8/.
[root@os1 ~]#
##命令行中输入用户名和密码
[root@os1 ~]# htpasswd -cb passwd ceshi
Adding password for user ceshi
[root@os1 ~]# cat passwd
ceshi:$apr1$1863a7z7$qiOe9pcK6x/G2a2TYjWoM0
###在原有的文件中添加用户
[root@os1 ~]# htpasswd passwd test
New password:
Re-type new password:
Adding password for user test
[root@os1 ~]# cat passwd
ceshi:$apr1$1863a7z7$qiOe9pcK6x/G2a2TYjWoM0
test:$apr1$0V/OaCvu$jLgbFOGrVLucReDgwiuto.
[root@os1 ~]#
#删除用户
[root@os1 ~]# htpasswd -D passwd test
Deleting password for user test
[root@os1 ~]# cat passwd
ceshi:$apr1$1863a7z7$qiOe9pcK6x/G2a2TYjWoM0
[root@os1 ~]# #直接在命令行显示用户名和密码
[root@os1 ~]# htpasswd -nb wxly
wxly:$apr1$PkB0SZse$iZeKC3qrRGp080ySit04E1
一个需求实例:
有很多个用户,需要添加web的用户认证。
这时候我们可以采用expect的方式进行,如下:
[root@os1 htpassword]# tree
.
├── exce.sh # 执行的shell脚本
├── one.exp # 进行自动交互的expect脚本
├── passwd # 存放加密后密码的文件
└── user # 添加的用户名和密码 directories, files
脚本内容依次如下:
用户名和密码文件如下:
cat user
cdw
ywj
zjf
mfj
dsx
dsl
tx1
expect脚本内容如下:
cat one.exp
#!/usr/bin/expect -f
set name [lindex $argv ]
set passwd [lindex $argv ]
spawn /usr/bin/htpasswd -d passwd $name
expect "password:"
send "passwd\r"
expect "password:"
send "passwd\r"
expect eof
需要执行的shell脚本如下:
cat exce.sh
#!/bin/bash
if [ -e passwd ]; then
echo -e "\033[32;1m The file is exiting \033[0m"
else
touch passwd # 创建存储密码的文件
fi cat user | while read line
do
name=$(echo $line | awk '{print $1}') # 提取用户名
password=$(echo $line | awk '{print $2}') # 提取密码
/usr/bin/expect one.exp $name $password # 执行expect脚本
[ $? -eq ] && echo -e "\033[32;2m add the account successfully!\033[0m"
sleep
done
htpasswd命令的使用的更多相关文章
- Apache htpasswd命令用法详解
一. 基础 htpasswd建立和更新存储用户名.密码的文本文件, 用于对HTTP用户的basic认证. # /usr/local/apache/bin/htpasswd –help Usage: h ...
- htpasswd命令
htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名.域和用户基本认证的密码文件. 语法 htpasswd(选项)(参数) 选项 -c:创建一个加密文件:-n:不更新加密 ...
- htpasswd 命令详解
htpasswd参数 -c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容. -n 不更新passwordfile,直接显示密码 -m 使用MD5加密(默 ...
- nginx用户认证与htpasswd命令
最近在搭建ELK,然后ELK的kibana界面想添加一个访问限制,看到kibana有个插件x-pack,本来想用用,发现是收费的,就放弃了,然后就想着想配置下nginx的认证访问来实现简单的访问登陆. ...
- httpd htpasswd命令
apache httpd系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html htpasswd用于为指定用户生成基于网页用户身份认证的密码,由h ...
- Apache htpasswd命令
一.简介 htpasswd是apache的一个工具,该工具主要用于建立和更新存储用户名.密码的文本文件,主要用于对基于http用户的认证. 二.语法 Usage: htpasswd [-cimBdps ...
- 烂泥:apache密码生成工具htpasswd的应用
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 1. htpasswd的作用与安装 2. htpasswd命令详解 3. htpasswd的实例 4. htpasswd的应用 一.htpasswd的作 ...
- apache htpasswd.exe创建密码
一.使用apache htpasswd.exe创建密码文件,命令请看PHP推荐教程:apache htpasswd命令用法详解 apache htpasswd命令用法实例 1.如何利用htpasswd ...
- htpasswd 详解
Apache htpasswd命令用法详解 htpasswd建立和更新存储用户名.密码的文本文件, 用于对HTTP用户的basic认证. # /usr/local/apache/bin/htpassw ...
随机推荐
- 微软、谷歌、亚马逊、Facebook等硅谷大厂91个开源软件盘点(附下载地址)
开源软件中有大量专家构建的代码,大大节省了开发人员的时间和成本,热衷于开源的大厂们总是能够带给我们新的惊喜.2016年9月GitHub报告显示,GitHub已经有超过 520 万的用户和超 30 万的 ...
- c++中用vector创建多维数组的初始化方法
最近调试一个程序,在使用vector声明一个二维数组时出现错误.错误的方法如下所示: std::vector<std::vector<double> > sphereGrid; ...
- 推荐系统之余弦相似度的Spark实现
推荐系统之余弦相似度的Spark实现 (1)原理分析 余弦相似度度量是相似度度量中最常用的度量关系,从程序分析中, 第一步是数据的输入, 其次是使用相似性度量公式 最后是对不同用户的递归计算. ...
- HDU 3507 - Print Article - [斜率DP]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3507 Zero has an old printer that doesn't work well s ...
- Copying and Cloning Objects
PHP Advanced and Object-OrientedProgrammingVisual Quickpro GuideLarry Ullman class someClass { publi ...
- Effective Java 目录
<Effective Java>目录摘抄. 我知道这看起来很糟糕.当下,自己缺少实际操作,只能暂时摘抄下目录.随着,实践的增多,慢慢填充更多的示例. Chapter 2 Creating ...
- es新增字段,并设置默认值
重新设置mapping 添加新的字段. 设置es允许脚本执行:elasticsearch.yml script.inline: true 然后执行脚本 POST linewell_assets_mgt ...
- Python开发【笔记】:关闭线程的方法
1.通过API进行线程关闭 import threading import time import inspect import ctypes def _async_raise(tid, exctyp ...
- SQLServer和MySQL job和 event定时器的差别
SQLServer和MySQL job和 event定时器的差别
- MySQL · 功能分析 · 5.6 并行复制实现分析
背景 我们知道MySQL的主备同步是通过binlog在备库重放进行的,IO线程把主库binlog拉过去存入relaylog,然后SQL线程重放 relaylog 中的event,然而这种模式有一个问题 ...