EC2 Amazon Linux 2 -禁用root用户



我已经用Amazon Linux 2 Image创建了一个EC2实例。访问实例只允许通过会话管理器不通过SSH.

我有以下用户:

  • ec2-user(默认创建)
  • ssm-user(默认创建)
  • root(默认创建)
  • myrootec2-user(我从Terraform创建的自定义根用户,并分配了密码)

我已经尝试禁用root用户,因为我只想使用myrootec2-user用户执行管理员操作。

为此,我执行了以下步骤:

sudo vim /etc/passwd

然后,我改变了:

root:x:0:0:root:/root:/bin/bash
to
root:x:0:0:root:/root:/sbin/nologin

但是,根据我分配给sudo命令的参数,我可以访问或不访问:

sudo su - # Error: This account is currently not available.
sudo -s # OK: Log in to the root user without errors

为什么我可以用第二个命令登录?您是否建议禁用root用户,或者我将来会有问题吗?你有什么其他的建议,比如给root分配一个密码?

我已经尝试禁用root用户,因为我只想使用myrootec2-user用户执行管理员操作。

你不能"禁用"root用户。您可以禁用密码登录并将根shell设置为/sbin/nologin,但是您仍然需要sudo来运行管理命令。

如果你认为你可以在不运行管理命令的情况下逃脱,那么,这听起来是个有趣的挑战。使用正确的不可变基础设施方法,您可能能够做到这一点。除了您的东西之外,您将删除所有用户对sudo的访问权限,并且root将在运行时接近不可访问(某些系统进程仍将使用它)。

但是您的系统仍然需要一个root用户。这对系统功能至关重要。

最新更新