本文匯總 Linux 下生成高強度隨機密碼的 10 種實用指令,並說明修改使用者密碼的標準方法,適用於腳本自動化、帳號初始化等場景。
passwd root # 修改 root 密碼,依提示輸入兩次
passwd username # 修改指定使用者密碼
| # | 指令 | 特點 |
|---|---|---|
| 1 | date +%s | sha256sum | base64 | head -c 32; echo | SHA256+Base64,32 字元 |
| 2 | < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32}; echo | /dev/urandom 過濾符號,預設 32 字元 |
| 3 | openssl rand -base64 32 | OpenSSL 內建亂數,最簡潔 |
| 4 | tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1 | 純英數,30 字元 |
| 5 | strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d 'n'; echo | strings 解析裝置亂數 |
| 6 | < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6 | 超短 6 字元(測試用) |
| 7 | dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev | dd 讀取亂數轉 Base64 |
| 8 | < /dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8; echo | 左手鍵盤區字元(單手輸入) |
| 9 | randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16}; echo; } | 自訂函數,預設 16 字元 |
| 10 | date | md5sum | 最短指令,MD5 雜湊值 |
# 需先安裝
yum -y install expect # 提供 mkpasswd
yum -y install passwdgen # 提供 passwdgen
mkpasswd -l 16 # 生成 16 字元密碼
passwdgen # 互動式生成
date | md5sum 等低熵來源作為高安全性密碼。