Linux Command htpasswd 创建密码文件

简介: Linux Command htpasswd 创建密码文件

文章目录

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. 其他

相关文章
|
18天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
71 1
|
16天前
|
人工智能 安全 Linux
【Linux】Linux之间如何互传文件(详细讲解)
【Linux】Linux之间如何互传文件(详细讲解)
|
9天前
|
关系型数据库 MySQL Linux
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
17 0
|
2天前
|
Linux Shell 开发工具
Linux文件常用操作
Linux文件常用操作(几乎覆盖所有日常使用)
52 0
|
3天前
|
Linux 内存技术 Perl
【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件
【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件
|
9天前
|
Linux 索引
linux 文件查找 和文件管理常用命令
linux 文件查找 和文件管理常用命令
19 0
|
11天前
|
监控 Linux
|
16天前
|
存储 Ubuntu Linux
制作一个嵌入式Linux的应用程序升级文件
制作一个嵌入式Linux的应用程序升级文件
12 2
|
17天前
|
Linux Shell
Linux脚本获取输入参数判断文件还是文件路径
Linux脚本获取输入参数判断文件还是文件路径
12 4
|
18天前
|
Linux
linux无法删除文件的时候先看看文件属性
linux无法删除文件的时候先看看文件属性
23 2