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