我在用着Amazon Linux AMI
。
当您创建 EC2 实例时,默认用户名是ec2-user
。
我想创建另一个user1
具有与 相同权限的用户(假设 )ec2-user
,并且我想删除ec2-user
。删除 安全吗ec2-user
?
您能提供给我如何执行此操作的 Linux 命令吗?
抱歉,我对 Linux 命令很陌生。
答案1
创建与 ec2-user 具有相同权限的用户的步骤如下:
- 创建账户
- 用户添加新账户
- 为账户设置密码
- 密码 新账户
- 将账户添加到 sudo 组
- usermod -aG sudo NEWACCOUNT
- 使用账户登录
- su - NEWACCOUT
- 创建 .ssh 目录
- 创建目录 .ssh
- 退出 NEWACCOUNT
- 出口
- 现在您已返回 root 权限,复制 authorized_keys 文件,并在 .ssh 上设置安全性
- cp /home/ec2-user/.ssh/authorized_keys /home/NEWACCOUNT/.ssh/authorized_keys
- chmod 700 /home/NEWACCOUNT/.ssh
完全退出系统,然后尝试使用 NEWACCOUNT 登录。
登录后,调用sudo su
以确保其具有正确的权限。您应该会收到一条错误消息。
最后一步是将文件中的 ec2-user 替换为 NEWACCOUNT:
- /etc/sudoers.d/云初始化
最简单的方法是使用 nano 编辑器,但 Linux 中还有许多其他编辑器。
如果此方法有效,那么您将拥有一个具有与 ec2-user 相同权限的新帐户(并且您还删除了 ec2-user 成为 root 的能力),并且可以安全地删除(或忽略)该帐户。
答案2
在 AWS 上,实例在启动时使用 CloudInit 进行配置。对于 Amazon Linux AMI,此信息存储在/etc/cloud/cloud.cfg.d/00_defaults.cfg
部分下system_info
。
所以,恕我直言,实现您想要的最简单的解决方案是在启动实例时提供以下用户数据:
#cloud-config
system_info:
default_user:
name: user1
注意:在 CloudInit 版本不同的不同发行版上,此操作可能不会完全相同。
有用的链接:
答案3
是的,您可以删除默认的 AWS ec-user。您可以添加新用户并访问 EC2 实例。但是当您最初创建实例时,同时还会生成与 ec2-user 对应的 SSH PUB/PRI 密钥对。因此,您必须首先生成一个新的密钥对,才能使用新用户访问 EC-2 实例。
答案4
删除 ec2-user 的概念完全错误且具有误导性,整个 AWS 云功能监控和其他基于事件的东西都会损坏且毫无用处?您是否知道这种后果,或者您仍然需要对此进行研究?