侧边栏壁纸
博主头像
DOKI SEKAI博主等级

行动起来,活在当下

  • 累计撰写 114 篇文章
  • 累计创建 38 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

配置 `sudo` 无需密码验证

君
2025-02-17 / 0 评论 / 0 点赞 / 2 阅读 / 4633 字

配置 sudo 无需密码验证

背景

在 Linux 系统中,sudo 命令用于以超级用户(root)权限执行命令。通过修改 /etc/sudoers 配置文件,可以控制哪些用户或组可以使用 sudo 执行命令,以及是否需要输入密码。wheel 组通常被赋予 sudo 权限,但根据配置的不同,可能会要求密码。

问题

  • 默认情况下,wheel 组的用户在执行 sudo 命令时可能会要求输入密码。
  • 有时,用户希望不需要密码即可执行 sudo 命令。

目标

  • 配置 sudo 使得 wheel 组的用户执行命令时 不需要输入密码
  • 说明 sudo 配置中 %wheel ALL=(ALL) ALL 表示需要输入密码。

1. 修改 sudoers 文件配置

  1. 编辑 /etc/sudoers 文件

    使用 visudo 编辑器以避免并发编辑错误,确保编辑时不会破坏文件:

    sudo visudo
    
  2. 配置 wheel

    sudoers 文件中查找 wheel 组的配置,通常为以下形式:

    %wheel  ALL=(ALL)       ALL
    
    • 这条配置表示 wheel 组的用户可以执行任何命令,但 需要输入密码
  3. 修改为不需要密码

    sudoers 文件中的配置修改为如下,确保 wheel 组的用户 不需要输入密码

    %wheel  ALL=(ALL)       NOPASSWD: ALL
    
    • 这表示 wheel 组的用户可以执行任何命令,而 不需要输入密码
  4. 保存并退出

    使用 visudo 编辑器保存文件并退出。


2. 确认用户属于 wheel

确保目标用户已被加入 wheel 组:

groups dianmi_365

如果没有列出 wheel 组,则需要将用户加入 wheel 组:

sudo usermod -aG wheel dianmi_365

添加后,用户需要重新登录才能使组成员资格生效。


3. SELinux 配置(如果适用)

如果 SELinux 在 Enforcing 模式下运行,可能会影响 sudo 的行为。在这种情况下,可以临时将 SELinux 设置为 Permissive 模式来排除它的影响:

sudo setenforce 0

要永久禁用 SELinux,可以编辑 /etc/selinux/config 文件,将 SELINUX 设置为 disabled

SELINUX=disabled

修改后需要重启系统才能生效。


4. 验证配置

  1. 验证 sudo 是否不再要求密码

    通过以下命令测试 sudo 是否不再要求密码:

    sudo whoami
    

    如果没有要求密码,并且输出 root,说明配置已经生效。

  2. 验证用户是否属于 wheel

    使用以下命令确认用户是否属于 wheel 组:

    groups dianmi_365
    

    输出中应包括 wheel 组。


总结

  1. %wheel ALL=(ALL) ALL: 该配置表示 wheel 组的用户可以使用 sudo 执行任何命令,但必须输入密码。

  2. %wheel ALL=(ALL) NOPASSWD: ALL: 该配置表示 wheel 组的用户可以使用 sudo 执行任何命令,且 不需要输入密码

  3. 确保用户被添加到 wheel 组,且 sudoers 文件已正确配置为 NOPASSWD

  4. 如果 SELinux 启用并干扰 sudo 行为,可以暂时禁用 SELinux 或将其设置为 Permissive 模式。

通过以上步骤,可以确保 wheel 组的用户执行 sudo 命令时不再需要输入密码。

0

评论区