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
英文地址,請注明出處:http://en.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即可