禁用 EC2 实例上 ubuntu 用户的 NOPASSWD sudo 访问并保持永久有效

禁用 EC2 实例上 ubuntu 用户的 NOPASSWD sudo 访问并保持永久有效

关注此论坛后: 在 EC2 实例上禁用 ubuntu 用户的 NOPASSWD sudo 访问

ubuntu我通过更改中的相应行禁用了默认用户的 sudo 访问/etc/sudoers.d/90-cloud-init-users

原来的:

# User rules for ubuntu
ubuntu ALL=(ALL) NOPASSWD:ALL

经过我的改变:

ubuntu ALL=(ALL) ALL

我也从群组ubuntu中移除了sudosudo deluser ubuntu sudo

我想在进行此更改后创建一个 AMI。我这样做了,但随后发现ubuntu仍然神秘地对从所述 AMI 构建的新实例拥有 sudo 权限。我检查了/etc/sudoers.d/90-cloud-init-users。看起来 EC2 会自动将原始设置附加到末尾!

ubuntu ALL=(ALL) ALL

# User rules for ubuntu
ubuntu ALL=(ALL) NOPASSWD:ALL

但是,组设置仍然已完成。我如何才能保留更改?我想防止将原始设置重新附加到该文件。即使在常规重启后,这种情况似乎也会发生。

顺便说一下,这是我实现自动化的整个脚本:

#!/bin/bash

# update /etc/sudoers.d/90-cloud-init-users
# take away sudo for default ubuntu user
SUDOER_TMP="$(mktemp)"
sudo cat /etc/sudoers.d/90-cloud-init-users > ${SUDOER_TMP}
echo 'ubuntu ALL=(ALL) ALL' > "${SUDOER_TMP}"
sudo visudo -c -f ${SUDOER_TMP} && sudo cat ${SUDOER_TMP} > /etc/sudoers.d/90-cloud-init-users
rm "${SUDOER_TMP}"

# remove ubuntu from sudo group
sudo deluser ubuntu sudo

答案1

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

# User rules for ubuntu
ubuntu ALL=(ALL) NOPASSWD:ALL

此行由 cloud-init 写入。已在 上配置/etc/cloud/cloud.cfg

目标线就在这里。

sudo: ["ALL=(ALL) NOPASSWD:ALL"]

注释掉,

# sudo: ["ALL=(ALL) NOPASSWD:ALL"]

并保存文件。

此后将不再添加此行。

相关内容