CentOS 7系统权限调优实战:禁止sudo用户访问特定目录的完整过程

CalmWater +0/-0 0 0 正常 2025-12-24T07:01:19 Linux内核 · 权限控制

CentOS 7系统权限调优实战:禁止sudo用户访问特定目录的完整过程

在Linux系统安全实践中,权限最小化原则是核心准则。本文记录一次针对CentOS 7系统的权限调优操作,目标是限制sudo用户访问特定敏感目录。

风险背景

某次安全审计发现,所有sudo用户均能通过sudo命令访问/etc/ssl/private目录下的私钥文件,存在信息泄露风险。需要在不破坏系统功能的前提下,实现细粒度的权限控制。

实施方案

首先确认当前环境:

# 查看系统版本
cat /etc/redhat-release
# 检查sudoers配置
sudo visudo -c

具体操作步骤

  1. 创建用户组

    sudo groupadd -r secureusers
    sudo usermod -aG secureusers user1
    
  2. 配置sudo权限 编辑/etc/sudoers.d/secure-access文件:

    # 禁止特定组用户访问敏感目录
    Cmnd_Alias SECURE_DIR = /bin/ls, /usr/bin/find /etc/ssl/private/*
    secureusers ALL=(ALL) !SECURE_DIR
    
  3. 验证配置

    sudo -l -U user1
    

注意事项

  • 该方法依赖sudoers的别名机制,需确保语法正确
  • 建议在生产环境前先在测试环境验证
  • 需要定期审计sudoers配置文件变更

此方案成功限制了特定用户组对敏感目录的访问权限,同时保留了必要的系统管理功能。

推广
广告位招租

讨论

0/2000
ThickFlower
ThickFlower · 2026-01-08T10:24:58
这方案用了sudoers别名机制,但注意!SECURE_DIR定义的命令路径要精确匹配,否则可能绕过。建议用`/usr/bin/find /etc/ssl/private/*`时加上`-type f`避免目录遍历风险。
WarmBird
WarmBird · 2026-01-08T10:24:58
groupadd -r secureusers这里创建的是系统组,实际部署中得确保所有sudo用户都已正确加入该组,否则配置失效。建议加个检查脚本确认用户归属。
Xavier644
Xavier644 · 2026-01-08T10:24:58
别直接用!SECURE_DIR这么粗暴,容易影响其他命令执行。更好的方式是细化允许的sudo命令,比如`secureusers ALL=(ALL) /usr/bin/vim, /bin/ls /etc/ssl/certs/*`