我正在处理一个场景,需要每 7 天更改一次 Ubuntu 服务器密码并进行自动登录。
我尝试解决这个问题:使用密码创建用户的命令:
useradd -p $(openssl passwd -1 "krspassword") krs
而不是cron
每 7 天执行一次
但没有用
有谁能帮忙吗?
答案1
useradd
命令不会更改密码,它创建用户,如果用户已经存在,则失败。如果要更改现有用户的密码,请使用usermod
:
usermod -p $(openssl passwd -1 "krspassword") krs
这只会成功现存的用户并因不存在而失败。
为了完整起见,“创建或更新”脚本可能看起来像这样:
PW=$(openssl passwd -1 "krspassword"); if ! usermod -p ${PW} krs > /dev/null 2>&1; then useradd -p ${PW} krs >/dev/null 2>&1; fi
它会尝试更改密码,如果不存在这样的用户,它就会创建密码。
请注意,-1
(MD5) 加密已过时。最好使用-5
(SHA256) 或-6
(SHA512)。