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.pswp.cn/news/915597.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/915597.shtml

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

相关文章

Qt 应用程序入口代码分析

Qt 应用程序入口代码分析 这段代码是 Qt GUI 应用程序的标准入口点&#xff0c;相当于 Qt 程序的"心脏"。让我详细解释每一部分的作用&#xff1a; int main(int argc, char *argv[]) {// 1. 创建 Qt 应用程序对象QApplication a(argc, argv);// 2. 创建主窗口对象Wi…

基于springboot+mysql的中小型医院网站(源码+论文+开题报告)

一、开发环境 Java技术 描述&#xff1a;Java是一种非常常用的编程语言&#xff0c;在全球编程语言排行榜上总是前三。Java的跨平台能力十分强大&#xff0c;只需一次编译&#xff0c;任何地方都可以运行。除此之外&#xff0c;它还拥有简单的语法和实用的类库&#xff0c;让…

【Docker基础】Docker-compose常用命令实践(三):镜像与配置管理

目录 前言 1 镜像与配置管理概述 1.1 核心概念解析 2 镜像构建命令详解 2.1 构建镜像&#xff08;build命令&#xff09; 2.2 基本语法 2.3 常用选项 2.4 构建过程流程 2.5 实际应用案例 3 配置验证命令详解 3.1 验证配置&#xff08;config命令&#xff09; 3.2 基…

Android 实例 - 分页器封装实现(上一页按钮、下一页按钮、当前页码 / 总页数、每页条数、总记录数)

一、需求分页器需要包含&#xff1a;【上一页按钮】、【下一页按钮】、【当前页码 / 总页数】、【每页条数】、【总记录数】点击【上一页按钮】&#xff0c;渲染上一页的数据&#xff0c;如果当前页码为第一页&#xff0c;则禁用【上一页按钮】点击【下一页按钮】&#xff0c;渲…

从代码学习深度强化学习 - SAC PyTorch版

文章目录 前言 SAC处理连续动作空间问题 (Pendulum-v1) 核心代码实现 **工具函数与环境初始化** **ReplayBuffer、网络结构与SAC算法** **训练与结果** SAC处理离散动作空间问题 (CartPole-v1) 核心代码实现 **工具函数与环境初始化** **ReplayBuffer、网络结构与SAC算法 (离散…

物联网安装调试-温湿度传感器

以下为温湿度传感器在物联网安装调试中的全流程技术指南,涵盖选型、安装、调试及故障排查,结合工业/农业/家居三大场景实操要点: 一、传感器选型核心参数表 参数 工业场景 农业大棚 智能家居 选型建议 精度 0.5℃/1.5%RH 1℃/3%RH 1℃/5%RH 工业级首选Sensirion SHT3x系列 防…

MySQL 核心知识点梳理(1)

目录 1.什么是数据库? 关系型数据库 非关系型数据库 2.Mysql出现性能差的原因? 3.MySQL的内联,左外联,右外连接的区别 4.为什么要有三大范式 建表需要考虑的问题? char和varchar的区别 blob和text的区别? DATETIME和TIMESTAMP的区别 in和exists的区别 null值陷 …

Word快速文本对齐程序开发经验:从需求分析到实现部署

在日常办公中&#xff0c;文档排版是一项常见但耗时的工作&#xff0c;尤其是当需要处理大量文本并保持格式一致时。Microsoft Word作为最流行的文档处理软件之一&#xff0c;虽然提供了丰富的排版功能&#xff0c;但在处理复杂的文本对齐需求时&#xff0c;往往需要重复执行多…

力扣面试150(34/150)

7.20 242. 有效的字母异位词 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的 字母异位词 我的思路&#xff1a; 遍历s到一个sMap&#xff0c;字母次数的方式遍历t&#xff0c;判断t中的char是否在sMap当中&#xff0c;如果在的话次数-1&#xff0c;判…

软件工程:可行性分析的任务及报告

简介 本博客围绕软件工程中的第一关——“可行性分析的任务及报告”展开&#xff0c;详细解析了可行性分析的基本概念、分析任务、四类可行性&#xff08;技术、经济、操作、社会&#xff09;以及可行性分析报告的结构与撰写要点。通过丰富的理论基础与图示支持&#xff0c;帮…

STM32与树莓派通信

STM32 与树莓派&#xff08;Raspberry Pi&#xff09;的通信常见方案及实现步骤&#xff1a;1. UART 串口通信&#xff08;最简单&#xff09;适用场景&#xff1a;短距离、低速数据交换&#xff08;如传感器数据、调试信息&#xff09;。 硬件连接&#xff1a;STM32引脚树莓派…

【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 数据持久化到Mysql

大家好&#xff0c;我是java1234_小锋老师&#xff0c;最近写了一套【NLP舆情分析】基于python微博舆情分析可视化系统(flaskpandasecharts)视频教程&#xff0c;持续更新中&#xff0c;计划月底更新完&#xff0c;感谢支持。今天讲解数据持久化到Mysql 视频在线地址&#xff…

【Java EE】多线程-初阶-Thread 类及常见方法

多线程-初阶2. Thread 类及常⻅⽅法2.1 Thread 的常⻅构造⽅法2.2 Thread 的⼏个常⻅属性2.3 启动⼀个线程 - start()2.4 中断⼀个线程2.5 等待⼀个线程 - join()2.6 获取当前线程引⽤2.7 休眠当前线程本节⽬标• 认识多线程• 掌握多线程程序的编写• 掌握多线程的状态• 掌握…

LVS技术知识详解(知识点+相关实验部署)

目录 1.1 LVS简介 1.2 LVS体系结构 1.3 LVS相关术语 1.4 LVS工作模式 1.5 LVS工作原理 1.6 LVS调度算法 2.LVS相关实验部署 2.1 lvs软件相关信息 2.1.1 ipsadm常见参数 2.1.2 试例 2.2 LVS部署NAT模式 2.2.1 实验环境 2.2.2 实验步骤 2.2.2.1 实验基础环境 2.2.…

芋道导入逻辑

一、代码 PostMapping("/import")Operation(summary "导入用户")Parameters({Parameter(name "file", description "Excel 文件", required true),Parameter(name "updateSupport", description "是否支持更新&a…

gradle7.6.1+springboot3.2.4创建微服务工程

目录 一、创建主工程cloud-demo并删除src目录 二、创建子工程user-service/order-service 三、更改父工程build.gradle文件 四、子工程使用mybatis框架 五、子工程使用mybatis-plus框架 六、相关数据库创建 七、最终目录结构 一、创建主工程cloud-demo并删除src目录 二、…

电脑windows系统深度维护指南

&#x1f5a5;️ 电脑系统全方位维护指南 预防故障 提升性能 延长寿命 &#x1f50d; 引言&#xff1a;为什么需要系统维护&#xff1f; 电脑如同汽车&#xff0c;定期保养可避免&#xff1a; ✅ 突发蓝屏死机 ✅ 系统卡顿崩溃 ✅ 硬件过早损坏 ✅ 数据丢失风险 本指南提供…

字节内部流传的数据分析手册

之前2领导整理内部分享的&#xff0c;所以很多内部业务的分析&#xff0c;比如工作中怎么落地、怎么推进。(数据都是脱敏的哈) **里面的内容都偏应用&#xff0c;比如产品迭代怎么做数据评估、用户增长靠什么指标拆解、AB实验怎么设计、运营活动怎么闭环。**数据分析都是很实际…

Nginx Proxy Manager + LB + Openappsec + Web UI 构建下一代WAF

Nginx Proxy Manager + LB + Openappsec + Web UI部署 一、环境介绍 二、系统参数优化 三、安装docker 四、创建docker网络 五、创建测试容器 六、部署NPM和openappsec 1、下载docker-compose文件 2、拉取相关镜像 3、web UI 获取token 4、修改compose文件并安装 七、登陆NPM配…

【React】npm install报错npm : 无法加载文件 D:\APP\nodejs\npm.ps1,因为在此系统上禁止运行脚本。

使用vsCode打开react项目安装依赖时报错&#xff0c;把terminal打开的powershell改成command prompt即可