首頁 > 套件與系統管理 > chpasswd

chpasswd:批量更改使用者密碼

chpasswd 命令用於批量更新多個使用者帳戶的密碼。它主要在腳本或自動化環境中用於設定或更改大量密碼時非常有用。輸入格式為「使用者名稱:密碼」。

概述

chpasswd 從標準輸入或檔案讀取「使用者名稱:密碼」格式的資料,並更新相應使用者的密碼。此命令通常需要以 root 權限執行,對於大規模使用者環境的密碼管理自動化至關重要。

主要特點

  • 批量更改密碼功能
  • 適合腳本和自動化
  • 從標準輸入或檔案讀取資料
  • 需要 root 權限

主要選項

chpasswd 命令提供了一些與密碼處理方式相關的重要選項。

密碼處理

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`chpasswd` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用範例

使用 chpasswd 命令進行各種密碼變更場景。

更改單一使用者密碼

echo 'testuser:newpassword123' | sudo chpasswd

使用 echo 命令通過管道符號 (|) 連接,以更改單一使用者的密碼。此方法在腳本中很有用。

從檔案批量更改使用者密碼

cat users.txt
# users.txt 內容:
# user1:pass123
# user2:pass456
sudo chpasswd < users.txt

在 users.txt 檔案中以「使用者名稱:密碼」格式編寫多行,然後將其作為輸入提供給 chpasswd 以進行批量更改。

使用已加密的密碼

echo 'user3:$6$rounds=5000$saltsalt$hashedpasswordexample' | sudo chpasswd -e

如果密碼已經是加密(雜湊)形式,請使用 -e(或 --encrypted)選項,以便 chpasswd 不會再次加密。在此情況下,密碼必須符合 /etc/shadow 檔案的格式。

使用特定加密方法更改密碼

echo 'user4:securepass' | sudo chpasswd --crypt-method SHA512

使用特定加密方法(例如 SHA512)雜湊純文字密碼進行更改。在此情況下,不使用 -e 選項。

提示與注意事項

安全有效地使用 chpasswd 命令的提示和注意事項。

安全考量

密碼是敏感資訊,請注意以下事項:

  • **Root 權限**:chpasswd 會更改系統密碼,因此必須以 root 權限執行。
  • **防止歷史記錄洩漏**:直接輸入密碼,例如 `echo 'user:pass' | sudo chpasswd`,可能會將密碼記錄在 shell 歷史記錄中。建議使用 `unset HISTFILE` 或 `history -c` 清除歷史記錄,或採用從檔案讀取的方式。
  • **檔案權限**:包含密碼的檔案必須僅允許擁有者(root)讀取(例如 `chmod 600 users.txt`)。
  • **臨時檔案使用**:如果在腳本中使用臨時檔案傳遞密碼,請務必在完成後安全地刪除該檔案。

輸入格式

chpasswd 只識別「使用者名稱:密碼」格式。其他格式可能會導致錯誤。

  • 每一行必須是一個使用者:密碼對。
  • 使用冒號(:)分隔使用者名稱和密碼。

加密方法

預設情況下,chpasswd 使用系統的預設加密方法。您可以使用 `--crypt-method` 選項強制使用特定方法,但應確保這符合系統的安全策略。



相同類別命令