Sudo 权限仅限于特定用户组

Sudo 权限仅限于特定用户组

我正在配置我们的新 Ubuntu 22.04 VPS 来托管我们的 React 应用程序和 REST API。
我遵循了这个看起来相对先进和完整的教程:
https://gofoss.net/server-hardening-advanced/

我目前正在调整 sudo 访问权限。
在这个教程中,他们写道:“特权访问应仅限于特定组的用户”,
并提供了执行此操作的步骤,如下所示:

  • 创建一个名为“mysudos”的组:
    sudo groupadd sudousers
  • 将您的“myadmacc”管理员用户添加到此组:
    sudo usermod -a -G mysudos myadmacc
  • 备份“/etc/sudoers”配置文件:
    sudo cp --archive /etc/sudoers /etc/sudoers-COPY-$(date +"%Y%m%d%H%M%S")
  • 在“/etc/sudoers”文件中添加以下行:
    %mysudos ALL=(ALL:ALL) ALL
  • 将提升的权限访问限制为 mysudos 组:
    sudo dpkg-statoverride --update --add root mysudos 4750 /bin/su
  • 检查权限:
    ls -lh /bin/su

终端应该显示“mysudos”。

但是终端显示:
-rwsr-x--- 1 root mysudos 55K Feb 21 2022 /bin/su

此外,在“/etc/sudoers”文件中,我可以看到:

# 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
%mysudos ALL=(ALL:ALL) ALL

看来我的新特定组“mysudos”已被正确授予sudo权限,但“admin”和“sudo”权限尚未受到限制。

问题 1:创建具有 sudo 权限的特定组真的是好做法吗?

问题 2:如果我们创建这个特定的组,如果这样做的目的是将 sudo 权限限制为默认管理员组,那么我们是否应该删除现有组(“admin”、“sudo”)对 sudo 权限的访问?该怎么做?

答案1

问题 1:是的,创建具有 sudo 权限的特定组被视为一种很好的做法,因为它可以更精细地控制谁有权访问提升的权限。

问题 2:是的,如果目的是将 sudo 权限仅限于新的特定组,则需要删除对现有组(如“admin”和“sudo”)的访问权限。

可以通过注释掉或删除“/etc/sudoers”文件中的相应行来实现。例如,您可以注释掉以下行:

admin 组的成员可以获得 root 权限

%admin ALL=(ALL) ALL

允许组 sudo 成员执行任何命令

%sudo ALL=(ALL:ALL) ALL

这样做之后,只有新的特定组“mysudos”才有权访问 sudo 权限。

相关内容