每次在 ubuntu 18.04 重启后重置用户密码

每次在 ubuntu 18.04 重启后重置用户密码

我想在 ubuntu 中创建一个用户,如果他更改了密码,我想在计算机重启后将他的密码重置为某个值。如何在 ubuntu 18.04 中执行此操作?

答案1

作为舒兹先生回答已经显示,chpasswd可用于设置用户密码而无需确认。通常,chpasswd 处理明文密码,但-e开关告诉它期望已经加密密码。

假设我们要将用户的密码设置rembosecret

  1. 如果尚未安装,请mkpasswd使用

    sudo apt install whois
    
  2. 创建密码的加密 SHA-512secret并将其与用户名一起放在文件中:

    echo "rembo:$(mkpasswd -m SHA-512 secret)" > rembo.password
    

    该文件rembo.password看起来类似于

    rembo:$6$S14xGVpG$J0jUOMMF9cd7/ld69bZbDHbw7BJ8nidLdVz.pdSywUX/H.Vlj8/c9KSo.1T3J1Rub8JktYjzwTqSF7bBldikG0
    
  3. 像以前一样运行chpasswd,但这次使用-e开关:

    sudo chpasswd -e < rembo.password
    

这样,您就不需要将明文密码存储在文件中,而只需存储加密密码。

答案2

要从脚本更改密码,您可以使用该chpasswd程序,语法如下:

echo "username:averysecretpassword" | sudo chpasswd

您可以轻松地编写一个包含所有需要的用户/密码组合的脚本,并在每次重新启动时运行它,可以通过 cronjob @reboot、您自己的systemd脚本或传统的来运行/etc/rc.local

请确保保护好脚本,因为密码将以明文形式。只root应该能够读取/执行它。

相关内容