![以非交互方式运行 su?](https://linux22.com/image/1449138/%E4%BB%A5%E9%9D%9E%E4%BA%A4%E4%BA%92%E6%96%B9%E5%BC%8F%E8%BF%90%E8%A1%8C%20su%EF%BC%9F.png)
因此,我被锁定在服务器之外(sshd 似乎已停止响应)。我获得了一个反向 shell(添加了一个 jenkins 作业,它为我提供了反向 shell),但我遇到了一个问题 - su 需要一个终端,并且拒绝运行。
那么,有没有办法以非交互方式运行 su,或者其他方式升级到我的普通用户帐户?
答案1
所以,事实证明,当我屈服并提出这个问题时,我并没有对此进行足够的谷歌搜索。
答案是https://serverfault.com/a/495154/68820说,然后跑
python -c 'import pty; pty.spawn("/bin/sh")'
反向 shell 内部,它会为你提供一个 pty。
这样做之后,我就可以以普通用户身份运行,并重新启动 sshd。
答案2
尝试使用 sudo。这是最现代(也是最安全)的方法
像这样的命令:
echo "password"|su - -c "command"
echo -e "password\n"|su - -c "command"