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

how to pass a user password ,stored in config file to passwd command

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

配置文件如下

username="user1"
password="passxxx"

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

if [ -n "$username" ] then

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

这里我必须在配置文件中提供密码。通常我们需要输入两次所需的密码来更新密码信息。有没有什么方法可以不输入密码来更新密码(使用配置文件中提供的密码)。

使用chpasswd instead of passwd批量设置密码。

示例:

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

或者,如果您使用的是其他 shell(不是 bash 版本 >=3.0):

echo "$username:$password" | sudo chpasswd