如何创建一个shell脚本来更改密码而不提示?

时间:2012-10-11 10:33:11

标签: shell

我想通过shell脚本更改Unix用户的密码,但不提示输入旧密码。

这意味着我想在shell脚本本身中提供旧密码和新密码,这样在提示期间它将从脚本文件中读取它。

3 个答案:

答案 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

管道和重定向操作符正在用重定向文件的内容替换标准输入,或者是管道命令的输出。