我想通过shell脚本更改Unix用户的密码,但不提示输入旧密码。
这意味着我想在shell脚本本身中提供旧密码和新密码,这样在提示期间它将从脚本文件中读取它。
答案 0 :(得分:3)
您应该查看chpasswd
命令(如果您的linux风格可用):
echo 'userid:newpasswd' | chpasswd
或者,您可以在单独的一行中为每个帐户列出 userid:passwd 的文件。
就是这样。
答案 1 :(得分:2)
echo -e -n "newpasswd\nnewpasswd" | passwd user
答案 2 :(得分:-1)
$> echo -n "oldpasswd\nnewpasswd\nnewpasswd" | passwd
或者为了使事情更清洁,请使用密码编写文件
oldpassword
newpassword
newpassword
和$> passwd < file
管道和重定向操作符正在用重定向文件的内容替换标准输入,或者是管道命令的输出。