我必须编写的 shell 脚本必须创建新用户并自动将它们分配到组。到目前为止,这是我的代码:
echo -n "Enter the username: "
read text
useradd $text
我能够获取 shell 脚本来添加新用户(我检查了该/etc/passwd
条目)。但是,我已经尝试过了,但之前无法获得新创建的用户的密码(由用户输入)。如果有人可以帮助我为新创建的用户分配密码,那将会有很大帮助。
答案1
“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
答案2
#!/bin/bash
echo "Enter username: "
read username
useradd "$username"
echo "temp4now" | passwd --stdin "$username"
chage -d 0 "$username"