在 EC2 实例上禁用 ubuntu 用户的 NOPASSWD sudo 访问

Sho*_*oan 3 ubuntu sudo amazon-ec2

如何禁用 EC2 实例上默认 ubuntu 用户的无密码 sudo 访问?这样做安全吗?

jor*_*fus 11

请务必先将另一个用户添加到 sudoers 或在 ubuntu 帐户上设置密码(我建议前者)。不这样做可能会使您无法在实例上使用 sudo!

因此,为自己创建一个用户,使用 ubuntu 用户将自己添加到 sudoers,以自己的身份重新登录并限制 ubuntu 用户。

您可能会注意到 ubuntu 用户实际上并未列在 /etc/sudoers

查看 /etc/sudoers.d/90-cloud-init-users

注意:请务必使用 visudo 编辑任何 sudoers 文件。例如

visudo -f /etc/sudoers.d/90-cloud-init-users
Run Code Online (Sandbox Code Playgroud)

您会注意到该文件中有一行:

ubuntu ALL=(ALL) NOPASSWD:ALL
Run Code Online (Sandbox Code Playgroud)

您可以将该行注释掉 (#) 以完全从 sudoers 中删除 ubuntu 用户:

# ubuntu ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)

或者需要密码,只需删除 nopasswd 部分。

ubuntu ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)


3h4*_*h4x 5

你当然可以。安全吗?首先确保在用户 ubuntu 上设置密码。

使用命令 visudo 编辑 sudoers 文件,否则要非常小心。找到匹配 ubuntu 用户的那一行,改成ubuntu ALL=(ALL:ALL) ALL

  • 用户名在行的开头
  • 首先 ALL 表示它适用于哪些主机(在这种情况下所有主机)
  • 第二个 ALL 是用户 ubuntu 可以运行的命令(在这种情况下所有命令)
  • 第三个 ALL 是 ubuntu 可以为哪些组运行命令(在这种情况下,所有这些组)
  • 最后但并非最不重要的 ALL 表示您可以运行哪些命令(在这种情况下,所有命令)

请务必查看 sudoers 的手册man sudoers。第一次尝试时,您可以创建另一个用户并将其添加到 suders。