?往期好文:統信 UOS 運行 Windows 應用新利器!彩虹虛擬化軟件 V3.2 全新上線,限時30天免費體驗
在日常運維、安全測試、用戶管理等場景中,隨機密碼的生成是一項常見需求。為了避免人工設置密碼帶來的重復性弱密碼問題,Linux 系統中提供了一個非常實用的工具——pwgen。它能夠快速生成符合規則、長度可調、可讀性強的密碼,非常適合系統管理員和開發人員使用。本文將對 pwgen 命令進行詳盡介紹,涵蓋其安裝方法、常用參數、實戰示例以及注意事項。
一、什么是 pwgen?
pwgen 是一個命令行工具,用于生成多個隨機密碼。相比手動生成或使用 openssl rand 這類工具,pwgen 更加簡單易用,支持多種密碼生成模式,并可控制密碼的可讀性和安全性。
二、安裝 pwgen
-
Debian / Ubuntu / UOS / 麒麟系統:
pdsyw@pdsyw1024:~/Desktop$ sudo apt update pdsyw@pdsyw1024:~/Desktop$ sudo apt install pwgen
-
RHEL / CentOS / Anolis / Kylin V10:
sudo yum install pwgen
-
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<
五、實用示例
示例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
如果你覺得這篇文章對你有幫助,歡迎點贊、收藏或轉發給身邊的朋友!