我运行的是 Centos 8。
我使用过各种指导文档,例如以下:
https://www.cyberciti.biz/faq/how-to-sudo-without-password-on-centos-linux/
尝试能够通过 ssh 连接到帐户,然后无需使用密码即可获取 root 权限。我正在通过无密码 ssh 使用需要密码的密钥访问我的机器。
一旦我使用我的帐户登录,我希望能够在没有密码的情况下 sudo 到 root。
这可能吗?
我所做的是以 root 身份登录(这需要我的帐户密码),然后:
visudo
并在此处为“Keith”帐户添加了这一行。
keithchegwin ALL=(ALL) NOPASSWD:ALL
现在,为了“良好的措施”,我再次启动了 sshd,并重新登录,完全keithchegwin
期望能够执行以下操作:
su root
没有密码,但它仍然要求输入我登录帐户的密码。我想让它停止!
我究竟做错了什么?谢谢。
我确实在这里看到了他的其他问题,但那是指运行特定的脚本或程序,而不是访问没有密码的帐户,所以我不认为这是重复的:
答案1
sudo
和su
是两个不同的命令,做不同的事情。
su
其本身不会实现无密码。
通过您的设置,您可以执行类似的操作sudo su
,并且它不会要求输入密码。或者,更简单地说sudo -i
或者sudo -s
。
答案2
你可以试试sudo su root
。另外,您只想进入root
特权 shell,下一个命令也可以工作:sudo -s
。两者的区别,sudo su root
继承当前所有环境变量,sudo -s
等于sudo "$SHELL"
。例如,在 中sudo -s
,如果您的默认 shell 是/usr/bin/zsh
,那么您将与 相同sudo "/usr/bin/zsh"
。