在Linux系统管理中,权限控制是安全防护的核心环节。本文将通过具体案例分享如何利用sudoers文件实现精细化的用户访问控制。
场景背景
某企业运维团队需要为不同角色的用户提供差异化权限:开发人员需要执行特定的监控命令,而普通用户仅能进行日常操作。直接给予root权限存在巨大风险。
实施方案
1. 创建专用用户组
sudo groupadd devops
sudo usermod -aG devops alice
sudo usermod -aG devops bob
2. 配置sudoers文件
编辑配置文件:sudo visudo
# 开发运维组权限配置
%devops ALL=(ALL:ALL) /usr/bin/systemctl status, \
/usr/bin/ps aux, \
/usr/bin/tail -f /var/log/*.log
# 限制普通用户只能查看系统信息
%sudo ALL=(ALL:ALL) /usr/bin/uptime, \
/usr/bin/free -h
3. 验证配置
切换到用户测试:
su - alice
sudo systemctl status nginx # 成功执行
sudo rm -rf /etc/passwd # 拒绝执行
安全要点
- 使用
visudo命令确保语法正确性 - 避免使用通配符
ALL,应明确指定具体命令 - 定期审计sudoers配置文件,及时清理过期规则
通过上述配置,实现了最小权限原则,既满足了业务需求又保障了系统安全。

讨论