在Linux系统安全实践中,sudo作为权限管理的核心工具,其配置直接关系到系统的安全性。本文将通过一个真实的踩坑案例,展示如何正确配置sudo以实现最小权限原则。
问题背景
某系统管理员为了方便运维,将所有用户都添加到了sudoers文件中,并设置了无密码执行权限。结果导致任何登录用户都能以root身份执行任意命令,形成严重的安全漏洞。
错误配置示例
# /etc/sudoers 文件中的错误配置
%users ALL=(ALL) NOPASSWD: ALL
正确的最小权限实践
- 创建专用运维组:
sudo groupadd -r sysadmins
- 配置精确授权:
# /etc/sudoers.d/ops
%sysadmins ALL=(root) /usr/sbin/service, /usr/bin/systemctl, /bin/ls
- 禁用不必要的权限:
# 禁止执行危险命令
Defaults !syslog
Defaults !audit
验证步骤
# 切换到普通用户测试
sudo -l # 查看当前用户权限
sudo /usr/sbin/service nginx restart # 只能执行指定服务命令
通过以上配置,实现了仅允许特定用户在特定场景下使用sudo,既保证了运维效率,又最大程度降低了安全风险。

讨论