我正在修复一个失败的脚本,因为它sudo
在没有 pty 的环境中调用,而 pty 有一个 sudoers 文件定义Default requiretty
.
该脚本由 执行root
并用于sudo
调用依赖于特定用户执行的二进制文件,因此我的解决方案是将其替换sudo
为su
.
现在我想测试我的修改,但我很难重现sudo
失败的环境:
我可以通过另一个用户访问该计算机,然后以 root 身份使用
sudo su -
.我不知道root
密码。我知道如何在没有 pty 的情况下访问机器
ssh -T
,但是由于失败,我无法再以 root 身份登录sudo
。
如果没有 pty ,我如何获得 root shell ?
答案1
at
我要尝试的第一件事是使用or执行脚本cron
。
例子:
at now <<< "sudo echo 'This will fail if sudoers requiretty' 2>/tmp/stderr >/tmp/stdout"