0
我有这个脚本,用户可以在其中透明地使用passwd更改其密码。该脚本本身是由根执行,与Linux passwd命令:格式化输出
su - <user> -c "script"
启动它,我知道它可能不是非常安全的一个启动脚本的方式,但是这是怎么回事,我没有lattitude改变的那部分。
我的问题是,调用时,passwd文件显示以下内容:
Changing password for user <user>.
Changing password for <user>
current (UNIX) password:
New UNIX password:
Retype new UNIX password:
有几件事情,这里要注意:
- 为什么它甚至有两行了么?看起来,第一个显示在root用户密码被passwd时显示,第二个用户在自己的密码被passwd时显示。它能成为解释的开始吗?
- 我需要从这些提示中筛选出一些单词。我想过使用greps和seds的组合,但是这里有一个诀窍:两条第一条线似乎是输出到stdout,而其他的则是stderr。当我尝试将stderr重定向到stdout来处理它时,什么都不显示了。
有没有人有关于这种情况的任何答案或提示?非常感谢。
(这里第一个问题,所以不要犹豫,要求更多信息。)
我复制脚本的将是不错 –
有时密码提示会直接写入您的tty,因此您可能无法轻松隐藏它们。我建议,如果你画在这个特定的角落里,你可以检查'expect'语言。 –
对不起@RolfofSaxony,脚本的最低版本基本上只是调用passwd | grep -v用户(单词用户,不是用户名)。 我会看看期待。谢谢。 –
Vartaghan