sudo免密权限配置不生效

1. 故障现象

用户oneslide已在/etc/sudoers写入免密规则oneslide ALL=(ALL:ALL) NOPASSWD: ALL,执行sudo命令仍要求输入密码。

2. 诊断过程

  1. 执行权限校验命令:sudo -l -U oneslide

  2. 输出存在两条匹配规则:

    sql 复制代码
    (ALL : ALL) ALL
    (ALL : ALL) NOPASSWD: ALL
  3. 根因:oneslide归属sudo用户组,配置中%sudo ALL=(ALL:ALL) ALL行位于用户免密行上方;sudo规则遵循从上至下匹配,最后一条生效,原顺序组规则覆盖免密配置。

3. 修复操作

  1. 执行visudo编辑sudoers,调整规则顺序,将用户免密行移至sudo组规则下方:

    sudoers 复制代码
    %sudo	ALL=(ALL:ALL) ALL
    oneslide ALL=(ALL:ALL) NOPASSWD: ALL
  2. 语法校验:visudo -c,无语法报错。

  3. 清空sudo认证缓存:sudo -k。

4. 验证结果

  1. 权限查询输出顺序更新,免密规则为最后匹配项:

    sql 复制代码
    User oneslide may run the following commands on oneslide-VMware-Virtual-Platform:
        (ALL : ALL) ALL
        (ALL : ALL) NOPASSWD: ALL
  2. 切换oneslide用户执行sudo ls /root,无需输入密码,故障解决。

5. 关键原理

sudo多规则匹配逻辑:同一用户命中多条权限时,文件内靠后的规则优先级更高;用户专属权限配置需放置于用户组通用权限下方,确保免密规则覆盖组默认密码校验规则。

6. 附属排查要点

  1. 检查/etc/sudoers.d/目录,无冲突权限子配置;
  2. 配置文件权限保持440,无权限异常干扰;
  3. 无PAM/SELinux强制密码校验策略。
相关推荐
独泪了无痕6 小时前
Spring Data Redis 快速上手
spring boot·redis·后端
m0_6399069410 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
holly就是我11 小时前
AI 编程助手为什么跑偏?用开源 ccglass 看清 Prompt、工具调用和 Token 消耗
人工智能·后端
鸿蒙开发11 小时前
共享 Schema 与 SchemaFactory
前端·后端·harmonyos
用户7884773163411 小时前
小程序后端三选一:云开发、.NET WebAPI、Node,我按客户现状分了三种答案
后端
aiopencode11 小时前
局域网设备抓包怎么做?用 TraceEagle 抓电视、游戏机和 IoT 流量
后端·ios
智驭未来掌门人11 小时前
CLion 开发 Qt 项目的优势
后端
EnCi Zheng11 小时前
后端怎么把AI接口稳定安全低成本接进业务:超时重试、密钥隔离与成本熔断清单
人工智能·后端·安全·架构·api
Bazingga11 小时前
从一家酒店讲懂Docker
后端
南归北隐11 小时前
Spring AI Alibaba Graph框架实现MCP数据库查询实战
java·后端·spring ai·mcp·spring ai mcp