在Linux系统安全管理中,权限回收是一个常见但容易踩坑的操作。近期在对一台生产服务器进行安全加固时,我们遇到了root用户权限过度分配的问题,需要将部分root权限回收给普通用户。
问题背景:系统中存在多个业务用户,其中user1和user2需要执行特定的系统管理任务,但目前这些任务都是通过sudo root权限完成。为了符合最小权限原则,我们决定回收部分root权限,仅保留必要的命令执行权限。
具体操作步骤:
- 编辑/etc/sudoers文件:
sudo visudo - 添加用户权限规则:
user1 ALL=(ALL) /usr/bin/systemctl status, /usr/bin/ls
user2 ALL=(ALL) /usr/bin/ps aux
- 为确保配置生效,执行
sudo sudoers -c验证语法
踩坑过程: 最初我们尝试直接使用chmod 755修改系统文件权限,结果导致系统服务无法启动。随后通过sudoers配置,我们发现必须严格按照格式添加规则,否则会因为语法错误导致所有sudo命令失效。
安全验证: 完成配置后,使用以下命令验证权限回收效果:
su - user1
sudo /usr/bin/systemctl status nginx
该操作成功执行,但尝试运行sudo /bin/bash则被拒绝。这确保了权限回收的有效性。
总结:通过合理配置sudoers规则,我们可以精确控制用户权限,避免过度授权带来的安全隐患。

讨论