用户不在 sudoers 中,但仍然可以使用 sudo

Go4*_*4It 6 debian sudo

我有一个用户 user1 不在 sudoers 文件中(也不属于 sudoer 中的组)但仍然可以使用 sudo。这怎么可能 ?

user1~$ groups
        user1 www-data
Run Code Online (Sandbox Code Playgroud)

我的 sudoer conf

        root ALL=(ALL) ALL
        %sudo ALL=(ALL) ALL

        #includedir /etc/sudoers.d

user1~$ sudo -l
        User user1 may run the following commands on this host:
        (ALL) ALL
Run Code Online (Sandbox Code Playgroud)

Mad*_*ter 16

如您所见,您的 sudoers 文件包含上面一行,其中包含来自/etc/sudoers.d. 您可能认为前面的哈希符号是注释,但来自man sudoers

可以使用 #include 和 #includedir 指令从当前正在解析的 sudoers 文件中包含其他 sudoers 文件。

/etc/sudoers.d/在我们评论为什么 user1 具有 sudo 权限之前,您需要向我们展示所有文件的内容。

  • 谁想到在配置文件中像这样使用 # ,其中 # 在所有其他上下文中表示注释需要好好交谈。 (8认同)
  • @BillWeiss:我知道 C 中的 #include 但不在配置文件中,其中 # 是注释......这是错误的 (4认同)
  • <grin> 我同意,但情况更糟:它有**另一个**非注释用途:“*井号 ('#') 用于表示注释(除非它是 #include 指令的一部分)或者除非它出现在用户名的上下文中并且后跟一个或多个数字,在这种情况下,它被视为 uid)*"。拿出线索! (3认同)
  • `#include` 是 C 主义。这不是那里的评论:) (2认同)