使用 sudo 和 su 自动登录

Zch*_*yvr 6 command-line su sudo

我知道安全风险,但我正在房子周围放置的旧的,很少使用的 *nix 机器上执行此实验/练习。所以做这个练习不会给我的机器带来任何安全风险。话虽如此,请不要发表任何关于安全的评论。

我也知道我可以更改sudoers以禁用密码提示,但我对此不感兴趣。

我找到了一个命令:

echo "password" | sudo -S su
Run Code Online (Sandbox Code Playgroud)

但这很奇怪。我输入它,域保持不变;我不会变成root。还有什么我想念的还是有更好的方法来做到这一点?


我做过的事情:

  1. \n在密码末尾添加了一个:密码未正确验证。
  2. 省略su: 打印出如何sudo正确使用的用法

小智 2

这很奇怪,但这对我有用:

% echo -e "password\n" | sudo -S su
<myusername>'s password:HOSTNAME: Undefined variable.
% sudo -S su
Run Code Online (Sandbox Code Playgroud)

因此,在第一步中,密码被传递到sudo(使用-e标志来回显,因此这\n实际上是一个换行符),并且在第二次运行中,身份验证将在不提示输入任何密码的情况下进行。

(第二行的返回可能是由于系统设置不当......)

编辑:在该 xterm 会话中,我可以根据sudo -S <command>需要多次调用...这可能是因为我在 sudo 密码只需输入一次的时间限制内。