我想通过shell脚本更改Unix用户的密码,但没有提示输入旧密码。
这意味着我想在 shell 脚本本身中提供旧密码和新密码,以便在提示期间它会从脚本文件中读取它。
您应该查看 chpasswd
命令(如果您的 Linux 风格中可用):
echo 'userid:newpasswd' | chpasswd
或者,您可以在单独的行上列出每个帐户的 userid:passwd 的文件。
就是这样。
echo -e -n "newpasswdnnewpasswd" | passwd user
$> echo -e -n "oldpasswdnnewpasswdnnewpasswd" | passwd
或者为了让事情变得更干净,用你的密码写一个文件
oldpassword
newpassword
newpassword
,然后使用以下命令:$> passwd < file
管道和重定向运算符将标准输入替换为重定向的文件内容和管道命令的输出。