当前位置: 首页 > news >正文

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

 往期好文:统信 UOS 运行 Windows 应用新利器!彩虹虚拟化软件 V3.2 全新上线,限时30天免费体验

在日常运维、安全测试、用户管理等场景中,随机密码的生成是一项常见需求。为了避免人工设置密码带来的重复性弱密码问题,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

img

  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 $`/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<

img

五、实用示例

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

pdsyw@pdsyw1024:~/Desktop$ pwgen 16 10

img

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

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

img

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

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

img

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

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

img

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

pdsyw@pdsyw1024:~/Desktop$ PASSWORD=$(pwgen -s 16 1)
​
pdsyw@pdsyw1024:~/Desktop$ echo "新用户默认密码为:$PASSWORD"
​
新用户默认密码为:tGS8P8210nw6o9jj

img

六、使用建议

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

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

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

结语

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

man pwgen

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

http://www.dtcms.com/a/288125.html

相关文章:

  • Nestjs框架: 理解 RxJS响应式编程的核心概念与实践
  • C++中的虚继承
  • 思维链(CoT)技术全景:原理、实现与前沿应用深度解析
  • Edge浏览器设置网页自动翻译
  • 从随机数值到特征检测器的学习与更新
  • [硬件电路-37]:模拟电路、数字电路与计算软件信号处理的全方位比较
  • 暑假--作业3
  • 物联网系统中的可视化大屏定义
  • VSCode - VSCode 查找中文字符
  • 『 C++ 入门到放弃 』- AVL树
  • OpenCV 官翻 1 -介绍、安装、功能概览、核心操作
  • Streamlit 官翻 5 - 部署、社区云 Deploy
  • Linux内核空间的布局
  • 前端面试专栏-工程化:26.性能优化方案(加载优化、渲染优化)
  • 《Qt5串口开发》搭建跨平台通信系统
  • “外卖大战”正在改变国内“大零售”
  • 数据增强和微调
  • Codeforces Round 1037 (Div. 3)
  • windows docker-02-docker 最常用的命令汇总
  • uniapp props、$ref、$emit、$parent、$child、$on
  • 【数据结构】栈(stack)
  • xss-labs1-8题
  • ubuntu24 ros2 jazzy
  • OpenVINO使用教程--图像增强算法DarkIR
  • 华为擎云L420安装LocalSend
  • Oracle为什么需要临时表?——让数据处理更灵活
  • LeetCode 322. 零钱兑换 LeetCode 279.完全平方数 LeetCode 139.单词拆分 多重背包基础 56. 携带矿石资源
  • 【补题】Codeforces Round 958 (Div. 2) D. The Omnipotent Monster Killer
  • 窗口(6)-QMessageBox
  • ctf.show-web习题-web4-flag获取详解、总结