(Ubuntu)非 root 用户具有 root 访问权限,但不属于 sudo 组

(Ubuntu)非 root 用户具有 root 访问权限,但不属于 sudo 组

我的 AWS EC2 实例上的用户具有不受限制的 sudo 访问权限,并且没有密码提示。这是 Ubuntu 20.04.4 LTS 虚拟机。

这是问题的示例:

~$ whoami
ubuntu
~$ groups
ubuntu
~$ sudo deluser ubuntu sudo
/usr/sbin/deluser: The user `ubuntu' is not a member of group `sudo'.
~$ sudo whoami
root

正如您所看到的,我已经将该用户从除他们自己的组 ( ubuntu) 之外的所有组中删除。

这是我的/etc/sudoers文件:

~$ sudo cat /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
# Defaults       secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL


# Members of the admin group may gain root privileges
#%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo  ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

我注释掉了%admin组条目以及刚刚测试的secure_path条目。Defaults

我已重新启动计算机并以 身份重新登录ubuntu。我仍然拥有 sudo 访问权限,并且可以不受限制地切换到 root 用户。

$ sudo su
root@ip-x-x-x-x:/home/ubuntu#

根用户帐户有密码。

我添加了一个新用户,并确认必须将这个新用户添加到组中sudo才能使用 sudo。

那么,为什么我的用户ubuntu拥有免费 root 访问权限?

答案1

您在文件末尾附近/末尾看到这一行吗/etc/sudoers

#includedir /etc/sudoers.d

这会加载目录中存在的文件/etc/sudoers.d,并将它们视为/etc/sudoers文件的一部分。正如该行上方的注释行所示,sudoers 文件的手册页解释了该指令如何工作的完整细节#includedir

查看/etc/sudoers.d目录中的文件,您将找到授予ubuntu用户调用命令的权限的条目root

相关内容