如何批量修改密码?Ubuntu 16.04

如何批量修改密码?Ubuntu 16.04

有没有命令可以让我一次性更改所有用户的密码?我想找到一种更简单的方法来为我机器上的所有 32 个用户执行此更改,而一次执行一个更改效率不高。我不介意更改 root,我只想更改所有帐户、管理员和基本帐户的密码。

感谢您的帮助。

Ubuntu 16.04

答案1

您可以使用 chpasswd 命令。此命令只能以 root 身份使用。在命令行中输入 chpasswd 命令,然后输入用户名和密码,对每个用户执行此操作。完成后,输入 ctrl+d。例如。

your-computer ~ # chpasswd
user1: password
user2: password
user3: password

另一种方法是创建一个包含所有用户名和密码的文件,格式相同,即用户 1:密码。使用任何文本编辑器(如 vim 或 cat)创建此文件。创建文件的示例。

your-computer ~ # cat > bulkpasswords
user1: password
user2: password
user3: password

然后在文件上运行 chpasswd 命令(以 root 身份):

your-computer ~ # chpasswd < bulkpasswords

希望这可以帮助!

资料来源: https://linoxide.com/linux-command/change-passwords-batch-mode-chpasswd/

答案2

_users=(fred mike joe)

for _user in "${_users[@]}"
do
    USERPW=... # wherever you get that from
    HASH=$(echo "$USERPW" | openssl passwd -1 -stdin)
    # single quotes around hash, so coincidental 
    # stuff like $1 in the pw hash survives
    sudo usermod --password '$HASH' $_user"
done

相关内容