Linux

如何通過 shell 腳本將使用者添加到 Linux

  • May 14, 2020

我必須編寫的 shell 腳本必須創建新使用者並自動將它們分配給組。到目前為止,這是我的程式碼:

echo -n "Enter the username: "
read text
useradd $text

我能夠獲得 shell 腳本來添加新使用者(我檢查了/etc/passwd條目)。但是,我已經嘗試過,但我之前無法獲得新創建的使用者的密碼(由使用者輸入)。如果有人可以幫我為新創建的使用者分配密碼,那將有很大幫助。

“man 1 passwd”的輸出:

--stdin
     This option is used to indicate that passwd should read the new
     password from standard input, which can be a pipe.

因此,要回答您的問題,請使用以下腳本:

echo -n "Enter the username: "
read username

echo -n "Enter the password: "
read -s password

adduser "$username"
echo "$password" | passwd "$username" --stdin

我用read -s的是密碼,所以打字時不會顯示。

**編輯:**對於 Debian/Ubuntu 使用者-stdin將無法工作。而不是passwd使用chpasswd

 echo $username:$password | chpasswd

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