扫码关注官方订阅号
如題,我怎麼一行命令執行 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
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
可以使用expect脚本
echo "password" | sudo -S 试试
这样是不行且不应该的,考虑一下如果能通过这样提权,那系统的root权限将能被任何人获取。
一般如果脚本需要root权限的话,我们都是一开始直接以root的身份执行脚本,而不是先以自己的id运行, 然后再在某个需要权限的操作的时候通过su或者sudo切换身份。
另,如果需要以root身份执行,并且可以被普通权限的用户执行,调用,可以考虑为该执行文件设置setuid