>  Q&A  >  본문

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

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

下面這樣不行

$ echo "mypassword" | su -
su: Sorry
PHP中文网PHP中文网2741일 전690

모든 응답(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
  • 취소회신하다