阻止用户使用 sudo

Moh*_*ani 1 permissions users user-management

我们能不能限制一个用户,不让他进入root模式。比如他inter的时候sudo su,系统告诉他你不能访问root?

Ben*_*oit 5

默认情况下,在 Ubuntu 上,任何属于组成员sudo或被admin允许使用sudo在系统上以 root 身份运行任何命令的Linux 用户。

但这可能比这更复杂。

实际上,使用sudo的权限定义在/etc/sudoers文件中。您必须以 root 身份使用visudo命令编辑此文件。我在本答案开头表达的默认行为由以下行表示:

%admin ALL=(ALL) ALL

%sudo ALL=(ALL:ALL) ALL

此语法的简短概述:

  1. 首先 ALL :表示该组的成员可以从任何主机运行 sudo
  2. 第二个 ALL :命令将以指定的用户(默认为 root)运行 sudo -u <username>
  3. 第三个ALL(在有的行%sudo)指定组也可以在运行sudo( sudo -g <group name>)时设置
  4. 最后一个 ALL 表示系统上存在的任何命令都可以由相关用户运行。

因此,语法(有关更多示例,请参见 man visudo)将允许您在某种意义上指定限制:

  • 给定用户被授予 sudo 权限
  • 用户或组可能被限制只能使用某些命令
  • 用户或组可能仅限更改为指定用户

限制性示例:

运算符 ALL=(root) /sbin/reboot

这允许用户operator仅以/sbin/rebootroot身份运行命令。