我想在 ubuntu 中创建一个用户,如果他更改了密码,我想在计算机重启后将他的密码重置为某个值。如何在 ubuntu 18.04 中执行此操作?
答案1
作为舒兹先生‘回答已经显示,chpasswd
可用于设置用户密码而无需确认。通常,chpasswd
处理明文密码,但-e
开关告诉它期望已经加密密码。
假设我们要将用户的密码设置rembo
为secret
。
如果尚未安装,请
mkpasswd
使用sudo apt install whois
创建密码的加密 SHA-512
secret
并将其与用户名一起放在文件中:echo "rembo:$(mkpasswd -m SHA-512 secret)" > rembo.password
该文件
rembo.password
看起来类似于rembo:$6$S14xGVpG$J0jUOMMF9cd7/ld69bZbDHbw7BJ8nidLdVz.pdSywUX/H.Vlj8/c9KSo.1T3J1Rub8JktYjzwTqSF7bBldikG0
像以前一样运行
chpasswd
,但这次使用-e
开关:sudo chpasswd -e < rembo.password
这样,您就不需要将明文密码存储在文件中,而只需存储加密密码。
答案2
要从脚本更改密码,您可以使用该chpasswd
程序,语法如下:
echo "username:averysecretpassword" | sudo chpasswd
您可以轻松地编写一个包含所有需要的用户/密码组合的脚本,并在每次重新启动时运行它,可以通过 cronjob @reboot
、您自己的systemd
脚本或传统的来运行/etc/rc.local
。
请确保保护好脚本,因为密码将以明文形式。只root
应该能够读取/执行它。