我正在配置我们新的 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:如果我们创建这个特定的组,我们是否应该删除对现有组(“admin”、“sudo”)的 sudo 权限的访问,如果这样做的目的是将 sudo 权限限制为默认管理员组?怎么做?
问题 1:是的,创建具有 sudo 权限的特定组被认为是一种很好的做法,因为它可以更精细地控制谁有权访问提升的权限。
问题 2:是的,如果目的是将 sudo 权限限制为仅新的特定组,您将需要删除对现有组(如“admin”和“sudo”)的访问权限。
这可以通过注释掉或删除“/etc/sudoers”文件中的相应行来完成。例如,您可以注释掉以下行:
管理员组的成员可以获得root权限
允许 sudo 组的成员执行任何命令
通过这样做,只有新的特定组“mysudos”才能获得 sudo 权限。