Linux Command htpasswd 创建密码文件

news2025/7/19 15:41:50

在这里插入图片描述

文章目录

  • Linux Command htpasswd 创建密码文件
    • 1. 简介
    • 2. 安装
    • 3. 语法
    • 4. 选项
    • 5. 示例
    • 6. 其他

Linux Command htpasswd 创建密码文件

1. 简介

htpasswd是Apache的Web服务器内置的工具,用于创建和更新储存用户名和用户基本认证的密码文件。

2. 安装

centos 7、 redhat:

yum -y install httpd-tools

fedora:

dnf -y install httpd-tools

ubuntu:

apt-get -y install httpd-tools

3. 语法

htpasswd (选项) (参数)

4. 选项

  • -c: 创建一个新的密码文件
  • -b: 在命令行中一并输入用户名和密码而不是根据提示输入密码
  • -D: 删除指定的用户
  • -n: 不更新密码文件,只将加密后的用户名密码输出到屏幕上
  • -p: 不对密码进行加密,采用明文的方式
  • -m: 采用MD5算法对密码进行加密(默认的加密方式)
  • -d: 采用CRYPT算法对密码进行加密
  • -s: 采用SHA算法对密码进行加密
  • -B: 采用bcrypt算法对密码进行加密(非常安全)

5. 示例

  1. 交互生成用户密码文件
$ htpasswd -c passwd.txt liming
New password:
Re-type new password:
Adding password for user liming
$ cat passwd.txt
liming:$apr1$57RuOboX$.bnUFsGo5Jdmfkjrv0ijs.
  1. 以MD5加密方式生成用户密码文件
$ htpasswd -mc passwd.txt jack
New password:
Re-type new password:
Adding password for user jack
$ cat passwd.txt
jack:$apr1$LNmPUYEc$1pO2CoywBQofLOJlwN6lz1
  1. 生成 Bcrypt Htpasswd 的文件
htpasswd -bBc /opt/registry/auth/htpasswd registryuser  registryuserpassword

文件内容

$ cat /opt/registry/auth/htpasswd
registryuser:$2y$05$XciI1wfzkUETe7XazJfc/uftBnMQfYOV1jOnbV/QOXw/SXhmLsApK
  1. 新建一个密码文件.passwd并添加一个用户,不提示直接输入用户名密码
htpasswd -bc .passwd ghostwritten 123456789

生成内容

$ tac .passwd
ghostwritten:$apr1$8RjS08H/$KoaoCrov0U8cwaSkv5vbL1
  1. 在原有的密码文件.passwd下在添加一个用户
htpasswd -b .passwd spectre 987654321

生成内容

$ cat .passwd
ghostwritten:$apr1$8RjS08H/$KoaoCrov0U8cwaSkv5vbL1
spectre:$apr1$OIA90sdQ$Q5AreNiGrVBmr14sXWTDX0
  1. 更新用户的密码:有两种方式
  • 第一种,直接添加相同的用户名,就会自动区更新密码:
htpasswd -b .passwd spectre abcdefg
$ cat .passwd
ghostwritten:$apr1$8RjS08H/$KoaoCrov0U8cwaSkv5vbL1
spectre:$apr1$KeukNWZq$V9knxEZazQvvnYQTkhLnW0
  • 第二种,先删除需要更新密码的用户名,在添加用户:

删除

htpasswd -D .passwd spectre
$ cat .passwd
ghostwritten:$apr1$8RjS08H/$KoaoCrov0U8cwaSkv5vbL1

添加

htpasswd -b .passwd spectre 111111

查看

$ cat .passwd
ghostwritten:$apr1$8RjS08H/$KoaoCrov0U8cwaSkv5vbL1
spectre:$apr1$cnkYJy8N$W8DvYPDU5zsoMzROAbjif/
  1. 不更新密码文件,只显示加密后的用户名和密码
$ htpasswd -bn spectre 222222
spectre:$apr1$Zcs4hc85$04A3bHvqhlzZJFyaqXJiT1

6. 其他

  • nginx模块 http_auth_basic_module中的使用,用于生成用户密码文件进行认证。
  • 这是一个在线htpasswd生成器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/36174.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MCE | 靶向 cGAS-STING 通路或可治疗渐冻症

自从 12 年前被发现以来,STING 途径就吸引了众多TOP生物学家的关注,去年 3 月,陈志坚教授带领的研究团队和其合作者在 Nature 上同日发表三篇论文,让 cGAS-STING 通路大火了一把,并被认为是未来十年内肿瘤免疫靶点的“…

指静脉当前遇到的问题

一、《基于改进残差网络的指静脉识别算法》_易芮 2020.5.20 ①采集到的指静脉图像质量不高"边缘曝光"及手指的自由度导致图像存在的偏移问题 (传统的指静脉识别技术是基于图像的纹理、特征点等细节进行特征提取,若图像质量较差的话&#xff…

thymeleaf抽取公共页面

thymeleaf抽取公共页面Thymeleaf中th:include、th:replace、th:insert、th:fragment用法及区别th:include、th:replace、th:insert区别在开发Web网站的时候,HTML页面有很多是相同的,如果每一个页面都写一遍,不仅非常麻烦,而且非常…

基于粒子群算法的城轨列车牵引多目标能耗优化问题附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

python基础之元组

文章目录一、元组注意:二、创建元组怎么验证这个变量真的是一个元组类型:三、使用迭代遍历元组四、应用场景五、格式化字符串后面的()本质上就是元组六、元组和列表之间的转换一、元组 元组(Tuple)与列表类…

Python(PyQt5)制作帮助文档查看器(可显示后缀名为md的文件)同时显示文本和图片

先看完整效果图: 帮助文档查看器是很多程序中必备要素,而利用Qt中的QTreeView组件可以很方便的查看文件,而QTextBrowser可以直接显示格式化的MarkDown文本。因此可以利用这两个组件制作一个帮助文件查看器。 未优化 效果图: 问题优化: 你会发现QT treeView列宽设置不成功问题…

Mybatis-Plus 06 条件构造器和常用接口

一、wapper介绍 Wrapper : 条件构造抽象类,最顶端父类 AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件 ​ QueryWrapper : 查询条件封装 ​ UpdateWrapper : Update 条件封装 AbstractL…

PG::Inclusiveness

nmap -Pn -p- -T4 --min-rate1000 192.168.134.14 nmap -Pn -p 21,22,80 -sCV 192.168.134.14 80端口是默认页面,先查看21端口FTP服务的匿名登录,并未发现可利用信息。 继续查看80端口,在robots.txt中得到提示。 https://www.howtogeek.co…

【Kubernetes | Pod 系列】Pod的 YAML 清单文件详解

目录3. Pod的 YAML 清单文件3.1 获取资源对象 YAML3.2 解析 YAML 清单文件(1)apiVersion查看 Kubernetes API 中全部的 API 组(2)kind查看 Kubernetes 中全部的对象资源类型(3)metadata(4&#…

SpringBoot整合Mybatis方式2:使用注解方式整合Mybatis

SpringBoot整合Mybatis简介SpringBoot整合Mybatis方式2:使用注解方式整合Mybatis1.先用idea创建一个添加mybatis需要的相关依赖的工程。2.准备数据库和表3.创建表映射类4.创建mapper代理接口5.创建Service层和Service的实现层6.创建控制层(也就是web层&a…

JQuery使用

简介 一个JavaScript的框架,简化了JS的语法和操作,定义了HTML属性操作、样式操作、DOM 操作等相关函数,实现了对ajax异步请求封装。提供了很多预定义函数的JS文件。 作用 简化部分JavaScript开发 使用步骤 1,引入Jquery 下载 地址1:http:/…

D-0015 红外接收硬件电路设计

红外接收硬件电路设计1 简介2 硬件电路实战3 红外遥控的原理4 主要参数5 电路设计要点1 简介 肉眼可见的光,按照波长进行排列依次为:红、成、黄、绿、青、蓝、紫。其中红光的波长范围为0.620.76μm;紫光的波长范围为0.380.46μm。比紫光波长…

[iOS]代码混淆

混淆有几点注意: 不能混淆系统方法 不能混淆init开头的等初始化方法 混淆属性时需要额外注意set方法 如果xib、 storyboard中用到了混淆的内容,需要手动修正。 可以考虑把需要混淆的符号都加上前缀,跟系统自带的符号进行区分。 混淆有风险&am…

MMEdu离线版的使用:实现石头剪刀布图像分类的检测

一、MMEdu离线版的使用 1.双击XEdu v1.0.exe解压缩到某个盘,会是一个文件夹XEdu 2.进入XEdu,双击运行“点我初始化.bat”,等待至运行结束命令提示符窗口自动关闭 3.双击运行“jupyter编辑器.bat”,将会打开一个网页版jupyter&…

记一次由于google新版本限制升级导致的跨域问题

记一次跨域问题 问题描述 系统集成到公司下面的门户网站,由于二级域名还没有申请下来只能先配置了我们的K8S域名 http://wire-qa.motortest.com/#/Data/systemNavigationK8s域名 http://wire-test.k8s-pv.motor.com/sce_web/index.html前端识别到跳转的如下地址后…

微服务介绍2

1 搭建项目 1.1 父项目的搭建 1.2 子项目的搭建 2 项目展示 1 搭建项目 1.1 父项目的搭建 步骤: 1 选择maven项目作为父项目,修改为1.8之后直接点击next 2 定义父项目的名称,修改Artifct Coordinates ---> GroupId 然后点击finsh就可以啦…

K8S部署后的使用:dashboard启动、使用+docker镜像拉取、容器部署

1、重置和清除旧工程:每个节点主机都要运行 kubeadm reset iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X 2、部署新的k8s项目: 只在主节点运行,apiserver-advertise-address填写主…

(附源码)计算机毕业设计JavaJava毕设项目美容院管理系统

项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis Maven Vue 等等组成,B/…

HDC 2022 开发者主题演讲与技术分论坛干货分享(附课件)

11月4日-11月6日,HDC 2022在东莞成功举办,这是一场大规模落地的思维与技术的碰撞,众多业内专家到场,共话未来。其中,开发者主题演讲围绕增强的声明式开发体系,通过一个Demo实例讲解技术创新点,助…

LEADTOOLS 入门教程: 使用文件观察器转换文件 - C# .NET Core

LEADTOOLS 是一个综合工具包的集合,用于将识别、文档、医疗、成像和多媒体技术整合到桌面、服务器、平板电脑、网络和移动解决方案中,是一项企业级文档自动化解决方案,有捕捉,OCR,OMR,表单识别和处理&#…