非交互式修改root密碼
時間:
林澤1002由 分享
使用Passwd工具的時候就發(fā)現問題了,這個程序需要接受一個用戶名作為參數的同時還需要輸入兩遍新密碼,那我們應該如何做呢。下面是學習啦小編收集整理的非交互式修改root密碼,希望對大家有幫助~~
非交互式修改root密碼
工具/原料
Xshell或者其他的終端工具或者Console控制臺
OpenWRT或其他Linux系統(tǒng)
方法/步驟
這里是 交互方式 修改用戶密碼,使用 passwd 命令,輸入兩次相同的密碼即可修改成功。
(注意:為了保護用戶密碼安全,輸入的內容不回顯的)
我們進行第一次嘗試,嘗試傳遞密碼給passwd,格式是:
passwd 用戶名 新的密碼
結果顯而易見,沒有成功。
然后使用 echo + 管道的方式進行傳遞,結果仍然失敗。
這時候我們使用萬能的 xargs 參數傳遞函數,仍然不能工作。
這一次嘗試傳遞更完整的參數,分別傳遞內容是:
?、儆脩裘?/p>
?、谛碌拿艽a
?、坌碌拿艽a的確認
這時候我們嘗試連續(xù)echo兩次新的密碼給passwd工具,發(fā)現因為傳輸速度過快,導致passwd第二次沒有收到參數,認為兩次輸入不一致,修改不成功。到了這里相信您應該想到辦法了吧。
總結了上面的所有的失敗案例之后,我們終于想到了,在兩次輸出之前使用sleep函數進行中間停頓,然后再次輸出第二個參數,于是修改成功了。
結論是:(echo "newpasswd";sleep 1;echo "newpasswd) | passwd > /dev/null
非交互式修改root密碼相關文章: