我有这个脚本,用户可以使用passwd透明地更改其密码。脚本本身由root执行,用
启动它su - <user> -c "script"
我知道启动脚本的方式可能不是很安全,但事实就是这样,我没有改变那部分的优势。
我的问题是,在调用时,passwd显示以下内容:
Changing password for user <user>.
Changing password for <user>
current (UNIX) password:
New UNIX password:
Retype new UNIX password:
这里有几点需要注意:
有没有人对这种情况有任何答案或提示?非常感谢。
(这里的第一个问题,请不要犹豫,询问更多信息。)
答案 0 :(得分:0)
尝试键控:
su - vartaghan -c passwd
进入命令行,然后将其与键控进行对比:
passwd
到命令行。
答案就在那里。因为您使用su
来实现命令,所以需要输入密码,然后passwd
命令变为活动状态,这需要重新密码。
您最好的选择是通过简单地发出menu
命令来更改为您的用户运行的passwd
的方式,启动此密码更改shell。
编辑: 如果你想摆脱I / O使用类似的东西:
(echo $1; echo $2; echo $2) | passwd &>/dev/null
这要求您将脚本作为myscript oldpassword newpassword