Linux

如何為 Linux 中的使用者分配初始/預設密碼?

  • November 24, 2020

我找到了解釋如何設置使用者密碼的指南。我正在嘗試使其自動化並向使用者發送電子郵件,例如:

userid created with password XYZ.
request to change the initial password.

根據上面的文件,需要使用 Python 創建加密密碼並將其輸入到usermod命令中,如下所示:

usermod -p "<encrypted-password>" <username>

還有其他更簡單的方法可以做到這一點嗎?我不想下載任何特殊的實用程序來做到這一點;應盡可能概括。


編輯:即使上面連結中給出的方法似乎對我不起作用:

bash-3.00# python
Python 2.4.6 (#1, Dec 13 2009, 23:43:51) [C] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> import crypt; print crypt.crypt("<password>","<salt>")
<sOMrcxm7pCPI
>>> ^D
bash-3.00# useradd -g other -p "sOMrcxm7pCPI" -G bin,sys -m -s /usr/bin/bash mukesh2
UX: useradd: ERROR: project sOMrcxm7pCPI does not exist.  Choose another.
UX: useradd: sOMrcxm7pCPI name should be all lower case or numeric.

您可以使用chpasswd它來執行此操作,如下所示:

echo "username:newpassword" | chpasswd

chpasswd如果方便,您可以從 以外的程序通過管道輸入echo,但這可以解決問題。

編輯:要在 shell 腳本中生成密碼然後設置它,您可以執行以下操作:

# Change username to the correct user:
USR=username
# This will generate a random, 8-character password:
PASS=`tr -dc A-Za-z0-9_ < /dev/urandom | head -c8`
# This will actually set the password:
echo "$USR:$PASS" | chpasswd

有關 的更多資訊chpasswd,請參閱http://linux.die.net/man/8/chpasswd

(生成密碼的命令來自http://nixcraft.com/shell-scripting/13454-command-generate-random-password-string.html

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