84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
如題,我怎麼一行命令執行 su - 並且輸入密碼得到root權限
下面這樣不行
$ echo "mypassword" | su - su: Sorry
认证0级讲师
可以使用expect脚本
#!/usr/bin/env expect spawn su expect "Password:" send "Your Password\r" # 不要丢了 '\r' interact
echo "password" | sudo -S 试试
这样是不行且不应该的,考虑一下如果能通过这样提权,那系统的root权限将能被任何人获取。
一般如果脚本需要root权限的话,我们都是一开始直接以root的身份执行脚本,而不是先以自己的id运行, 然后再在某个需要权限的操作的时候通过su或者sudo切换身份。
另,如果需要以root身份执行,并且可以被普通权限的用户执行,调用,可以考虑为该执行文件设置setuid
可以使用expect脚本
echo "password" | sudo -S 试试
这样是不行且不应该的,考虑一下如果能通过这样提权,那系统的root权限将能被任何人获取。
一般如果脚本需要root权限的话,我们都是一开始直接以root的身份执行脚本,而不是先以自己的id运行, 然后再在某个需要权限的操作的时候通过su或者sudo切换身份。
另,如果需要以root身份执行,并且可以被普通权限的用户执行,调用,可以考虑为该执行文件设置setuid