Linux
如何為 Linux 中的使用者分配初始/預設密碼?
我找到了解釋如何設置使用者密碼的指南。我正在嘗試使其自動化並向使用者發送電子郵件,例如:
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)