Linux权限管理最佳实践:使用sudo实现最小权限原则

Tara402 +0/-0 0 0 正常 2025-12-24T07:01:19 权限管理

在Linux系统安全实践中,sudo作为权限管理的核心工具,其配置直接关系到系统的安全性。本文将通过一个真实的踩坑案例,展示如何正确配置sudo以实现最小权限原则。

问题背景

某系统管理员为了方便运维,将所有用户都添加到了sudoers文件中,并设置了无密码执行权限。结果导致任何登录用户都能以root身份执行任意命令,形成严重的安全漏洞。

错误配置示例

# /etc/sudoers 文件中的错误配置
%users ALL=(ALL) NOPASSWD: ALL

正确的最小权限实践

  1. 创建专用运维组
sudo groupadd -r sysadmins
  1. 配置精确授权
# /etc/sudoers.d/ops
%sysadmins ALL=(root) /usr/sbin/service, /usr/bin/systemctl, /bin/ls
  1. 禁用不必要的权限
# 禁止执行危险命令
Defaults !syslog
Defaults !audit

验证步骤

# 切换到普通用户测试
sudo -l  # 查看当前用户权限
sudo /usr/sbin/service nginx restart  # 只能执行指定服务命令

通过以上配置,实现了仅允许特定用户在特定场景下使用sudo,既保证了运维效率,又最大程度降低了安全风险。

推广
广告位招租

讨论

0/2000
George936
George936 · 2026-01-08T10:24:58
别再用 %users ALL=(ALL) NOPASSWD: ALL 这种全局放开的配置了,真要命。正确做法是按需授权,比如只给运维组特定命令的权限,像 service、systemctl 这些。
风华绝代
风华绝代 · 2026-01-08T10:24:58
最小权限原则太重要了,sudo 配置不严谨等于给攻击者送权限。建议用 sudoers.d 目录做细粒度控制,别把所有用户都加进去,不然谁都能 root 了。
Charlie341
Charlie341 · 2026-01-08T10:24:58
验证步骤里那个 sudo -l 很关键,普通用户执行前先看下自己有哪些权限,能避免很多误操作。另外记得定期审计 sudoers 文件,防止权限被悄悄扩大。