在 Ubuntu 上允许没有密码的 `sudo su`

Adr*_*ire 2 password sudo

这个问题在网上被回答了很多次,但这些答案都没有对我的案例有用

问题

使用私钥访问远程机器,我通常需要root权限,这意味着要写一个长密码,很烦人。

为了拥有sudo su,我尝试了以下步骤:

  • 确保该行在<user> ALL=(ALL) NOPASSWD: ALL/etc/sudoers 中
  • 确保用户在sudo用户组中:$groups <user>-> sudo

但是尝试sudo su只会提示我输入自己的密码:[sudo] password for <user>:

问题

如何拥有无密码sudo su

小智 5

我经常把它放在线下

# User privilege specification
root    ALL=(ALL:ALL) ALL
+++ myuser ALL=(ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

更好的方法是在 /etc/sudoers.d 中使用自己的文件和上面的行。

如果要使用组策略,则需要修改组的行

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

否则组策略将覆盖您的用户策略,您将被要求输入密码。

还有一个提示:
请不要使用“sudo su”。而是使用sudo su -sudo -i。这将卸载您的 env 并加载 root 之一,避免使用 root 帐户中的错误 env 变量。