如何禁用 EC2 实例上默认 ubuntu 用户的无密码 sudo 访问?这样做安全吗?
答案1
请务必先将另一个用户添加到 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
您会注意到该文件中有一行:
ubuntu ALL=(ALL) NOPASSWD:ALL
您可以注释掉该行(#)以将 ubuntu 用户从 sudoers 中完全删除:
# ubuntu ALL=(ALL) ALL
或者如果需要密码,只需删除 nopasswd 部分。
ubuntu ALL=(ALL) ALL
答案2
当然可以。这样安全吗?首先确保在用户 ubuntu 上设置密码。
使用命令 visudo 编辑 sudoers 文件,否则要非常小心。找到与 ubuntu 用户匹配的行并将其更改为ubuntu ALL=(ALL:ALL) ALL
- 用户名位于行首
- 首先 ALL 表示它适用于哪些主机(在这种情况下是所有主机)
- 第二个 ALL 是 ubuntu 可以为哪些用户运行命令(在这种情况下是所有命令)
- 第三个 ALL 是 ubuntu 可以为哪些组运行命令(在这种情况下是所有组)
- 最后但并非最不重要的一点是,ALL 表示您可以运行哪些命令(在这种情况下是所有命令)
请务必查看 sudoers 手册man sudoers
。首次尝试时,您可以创建另一个用户并将其添加到 suders。
答案3
是的,但在执行此操作之前,请确保将该用户的密码设置为已知的密码。