Linux 密码生成利器:pwgen 命令详解

原文链接:「链接」

在日常运维、安全测试、用户管理等场景中,随机密码的生成是一项常见需求。为了避免人工设置密码带来的重复性弱密码问题,Linux 系统中提供了一个非常实用的工具——pwgen。它能够快速生成符合规则、长度可调、可读性强的密码,非常适合系统管理员和开发人员使用。本文将对 pwgen 命令进行详尽介绍,涵盖其安装方法、常用参数、实战示例以及注意事项。


一、什么是 pwgen?

pwgen 是一个命令行工具,用于生成多个随机密码。相比手动生成或使用 openssl rand 这类工具,pwgen 更加简单易用,支持多种密码生成模式,并可控制密码的可读性和安全性。


二、安装 pwgen

  1. Debian / Ubuntu / UOS / 麒麟系统:
pdsyw@pdsyw1024:~/Desktop$ sudo apt update 
pdsyw@pdsyw1024:~/Desktop$ sudo apt install pwgen


  1. RHEL / CentOS / Anolis / Kylin V10:
sudo yum install pwgen
  1. Arch Linux / Manjaro:
sudo pacman -S pwgen


三、基本用法

最基本的命令格式如下:

pwgen [选项] [密码长度] [生成个数]

示例:

pdsyw@pdsyw1024:~/Desktop$ pwgen 12 5

ohWohSaTha0u daefahf6eeSa mafiezohPoo5 reiK4ephe1ci ohV0iesaiyae

表示生成 5 个长度为 12 位的密码。


四、常用参数详解

参数

含义

-s

使用更安全的密码生成方式(包含更多字符类型)

-y

密码中包含特殊符号(如 !@#)

-c

包含大小写字母(默认启用)

-n

包含数字(默认启用)

-0

排除容易混淆的字符(如 0 和 O)

-B

生成易于发音的密码(默认)

-N <数目>

明确指定要生成几个密码

-1

每行只输出一个密码

--help

查看帮助文档


pdsyw@pdsyw1024:~/Desktop$ pwgen -s 12 5

0g9jp9t2kNLt 37uuZIzfUkRg JN76pzfvwIy2 XdALLtqH4Lsm QVA3NoTQbQfd


pdsyw@pdsyw1024:~/Desktop$ pwgen -s -y 12 5

9.Qfp*iRxc}Q Q@5/WqwS@%KC Kw0)n9WLH1JR Hok=#I@~1FN; ;VP3Gyh]B[b-


pdsyw@pdsyw1024:~/Desktop$ pwgen -s -y -c 12 5

Qn=A2P/mlu_! R;!8u"r@k+>< r}pzQiOx+q;8 If1;ON[&a'dV i;u~l>rDl4WB


pdsyw@pdsyw1024:~/Desktop$ pwgen -s -y -c -n 12 5

?!drq42Q]|=h Wf*yHGMk$]7G $bG}**>P'W0d =y=;"I0)<.y: <;^vI4$M))a:


pdsyw@pdsyw1024:~/Desktop$ pwgen -s -y -c -n -0 12 5

CG%^u#)K}sRU ^/ShV^;<~wJQ \'=ByFC&injA d,l*}s\dPm#a rPH*yeK~(GV=


pdsyw@pdsyw1024:~/Desktop$ pwgen -s -y -c -n -0 -B 12 5

]pyAp%,K%JiH Linux 密码生成利器:pwgen 命令详解 - 今日头条
/R!mH/W&hX ,*@pC%m~&\\/ a:*;?oix(XM& jqHe)R.(sn!u pdsyw@pdsyw1024:~/Desktop$ pwgen -s -y -c -n -0 -B 12 -N 5 rWWLxwp_w#+r X^?nvqpYn^eV -,},{@rATC[. Rb|zwk`@sCpP <UUik=_n&[tC pdsyw@pdsyw1024:~/Desktop$ pwgen -s -y -c -n -0 -B -1 12 -N 5 *'A'<foK;N"w uXvVHK<&$%;- ALAvfy.(WhCK )^^Y*iyHbC:, >"mgKNp:CXp<


五、实用示例

示例1:生成 10 个长度为 16 的随机密码

pdsyw@pdsyw1024:~/Desktop$ pwgen 16 10


示例2:生成更安全的密码(包含特殊字符)

pdsyw@pdsyw1024:~/Desktop$ pwgen -s -y 16 5


示例3:生成只包含数字和字母的密码

pdsyw@pdsyw1024:~/Desktop$ pwgen -c -n -s 12 3


示例4:生成适合语音传达的密码

pdsyw@pdsyw1024:~/Desktop$ pwgen -B 8 5


示例5:在脚本中生成一个安全密码用于初始化用户

pdsyw@pdsyw1024:~/Desktop$ PASSWORD=$(pwgen -s 16 1)

pdsyw@pdsyw1024:~/Desktop$ echo "新用户默认密码为:$PASSWORD"

新用户默认密码为:tGS8P8210nw6o9jj


六、使用建议

生产系统中建议使用 -s 和 -y 选项,以确保密码复杂性。

避免将密码直接输出到终端或日志,可以使用 pwgen 结合脚本加密或转存到安全文件。

如果系统不允许使用特殊符号,请避免使用 -y 选项。


结语

pwgen 是一个轻量级但功能强大的密码生成工具,适合在各种自动化脚本、系统配置和临时密码生成中使用。掌握它,将为你的日常运维工作提供极大的便利,同时也有助于提升系统安全性。推荐使用场景:用户初始密码生成、服务部署脚本集成、数据库密码配置等。如需深入了解 pwgen,可查看其 man 页面:

man pwgen

如果你觉得这篇文章对你有帮助,欢迎点赞、收藏或转发给身边的朋友!

原文链接:,转发请注明来源!