Ubuntu
(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#
root 使用者的帳戶確實有密碼。
我添加了一個新使用者,並確認必須將這個新使用者添加到組
sudo
中才能使用 sudo。那麼,為什麼我的使用者
ubuntu
有免費的 root 訪問權限?
您是否在文件末尾/附近看到這條線
/etc/sudoers
?#includedir /etc/sudoers.d
這會載入目錄中存在的
/etc/sudoers.d
文件,將它們視為/etc/sudoers
文件的一部分。正如該行上方的註釋行所示,sudoers 文件的手冊頁解釋了該#includedir
指令如何工作的全部細節。查看目錄中的文件
/etc/sudoers.d
,您會發現授予ubuntu
使用者呼叫命令權限的條目為root
.