# htpasswd - apache服务器创建密码认证文件
htpasswd命令 是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。
htpasswd指令用来创建和更新用于基本认证的用户认证密码文件。htpasswd指令必须对密码文件有读写权限,否则会返回错误码。
# 适用范围
RedHat
RHEL
Ubuntu
CentOS
Debian
Deepin
SUSE
openSUSE
Fedora
Linux Mint
Alpine Linux
Arch Linux
# 语法
htpasswd [ -c ] [ -m ] [ -D ] passwdfile username
htpasswd -b [ -c ] [ -m | -d | -p | -s ] [ -D ] passwdfile username password
htpasswd -n [ -m | -d | -s | -p ] username
htpasswd -nb [ -m | -d | -s | -p ] username password
# 选项
-b # 使用批处理方式,直接从命令行获取密码,不提示用户输入
-c # 创建密码文件,如果文件存在,那么内容被清空重写
-n # 将结果送到标准输出
-m # 使用MD5加密
-s # 使用crypt()加密
-p # 使用文本密码
-D # 从认证文件中删除用户记录
# 举例
创建基本认证文件
[root@localhost ~]$ htpasswd -cm htpfile1 sogrey #创建认证文件,使用md5加密
New password:
Re-type new password:
Adding password for user sogrey
You have new mail in /var/spool/mail/root
[root@localhost ~]$ cat htpfile1 #显示认证文件
sogrey:$apr1$/RxQ5LT9$L1WJPkxknMizG5DwGVGv4.
创建基本认证文件,使用文本密码
[root@localhost ~]$ htpasswd -cp htpfile2 sogrey #创建认证文件,使用文本密码
Warning: storing passwords as plain text might just not work on this platform.
New password:
Re-type new password:
Adding password for user sogrey
[root@localhost ~]$ cat htpfile2 //查看认证文件,可以看到密码
sogrey:123456