如何将配置文件中存储的用户密码传递给passwd命令

时间:2016-05-25 19:37:28

标签: bash passwd

我正在尝试使用脚本创建linux用户。用户名和相应的密码存储在配置文件中。

配置文件在下面给出

username="user1"
password="passxxx"

使用shell脚本我正在使用配置文件中提供的用户名和密码创建linux用户。

if [ -n "$username" ] then

  password="$line" 
  sudo adduser $username 
  sudo passwd $username

这里我必须在配置文件中提供密码。通常我们必须输入两次所需的密码才能更新密码信息。有没有办法在不输入的情况下更新密码(使用配置文件中提供的密码)。

1 个答案:

答案 0 :(得分:3)

使用chpasswd代替passwd以批处理模式设置密码。

示例:

sudo chpasswd <<<"$username:$password"

或者,您正在使用其他shell(不是版本&gt; = 3.0的bash):

echo "$username:$password" | sudo chpasswd