Linux

手動為 /etc/shadow 生成密碼

  • November 13, 2020

我需要手動編輯/etc/shadow以更改虛擬機映像中的 root 密碼。

是否有一個命令行工具可以獲取密碼並/etc/shadow在標準輸出上生成兼容的密碼雜湊?

您可以使用以下命令:

方法一(md5、sha256、sha512)

openssl passwd -6 -salt xyz  yourpass

注意:傳遞-1會生成一個MD5密碼,-5一個SHA256和-6SHA512(推薦)

方法二(md5、sha256、sha512)

mkpasswd --method=SHA-512 --stdin

該選項--method接受md5sha-256並且sha-512

方法3(des、md5、sha256、sha512)

正如@tink 建議的那樣,我們可以使用以下方法更新密碼chpasswd

echo "username:password" | chpasswd 

或者,您可以將加密密碼與chpasswd. 首先使用這個生成它:

perl -e 'print crypt("YourPasswd", "salt", "sha512"),"\n"'

然後稍後您可以使用生成的密碼進行更新/etc/shadow

echo "username:encryptedPassWd" | chpasswd -e

加密後的密碼我們也可以用這個密碼來創建一個新使用者,例如:

useradd -p 'encryptedPassWd'  username

引用自:https://unix.stackexchange.com/questions/81240