首頁  >  問答  >  主體

Linux 怎麼用Shell腳本來執行su - 並且輸入密碼得到root權限

如題,我怎麼一行命令執行 su - 並且輸入密碼得到root權限

下面這樣不行

$ echo "mypassword" | su -
su: Sorry
PHP中文网PHP中文网2741 天前692

全部回覆(3)我來回復

  • 高洛峰

    高洛峰2017-04-17 14:35:25

    可以使用expect腳本

    #!/usr/bin/env expect
    
    spawn su
    
    expect "Password:"
    
    send "Your Password\r" # 不要丢了 '\r'
    
    interact

    回覆
    0
  • PHPz

    PHPz2017-04-17 14:35:25

    echo "password" | sudo -S 試試

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-17 14:35:25

    這樣是不行且不應該的,考慮一下如果能通過這樣提權,那系統的root權限將能被任何人獲取。

    一般如果腳本需要root權限的話,我們都是一開始直接以root的身份執行腳本,而不是先以自己的id運行, 然後再在某個需要權限的操作的時候通過su或者sudo切換身份。

    另,如果需要以root身分執行,並且可以被普通權限的使用者執行,調用,可以考慮為該執行檔設定setuid

    回覆
    0
  • 取消回覆