sudo升级指南

sudo升级指南
前言
sudo 是 Linux 系统中至关重要的权限管理工具,它允许普通用户以超级用户权限执行特定命令。然而,随着安全研究的深入,sudo 程序不断发现新的安全漏洞,因此及时升级到最新版本对系统安全至关重要。
升级原因
最新发布的 sudo 1.9.17p1 版本修复了两个严重的安全漏洞:
CVE-2025-32462:修复了 sudo 的 -h/--host
选项可能导致的本地权限提升攻击。当 sudoers 文件允许用户在不同主机上运行命令时,攻击者可以利用该选项进行权限提升。
CVE-2025-32463:修复了攻击者可以利用 sudo 的 -R/--chroot
选项以 root 权限运行任意命令的漏洞,即使这些命令未在 sudoers 文件中列出。该功能已被弃用,将在未来版本中完全移除。
这些漏洞的存在使得系统面临严重的安全风险,因此强烈建议所有 Linux 用户尽快升级到 sudo 1.9.17p1 版本。
sudo 官网及下载页面
- 官方网站:https://www.sudo.ws/
- 下载页面:https://www.sudo.ws/getting/download/
- GitHub 发布页:https://github.com/sudo-project/sudo/releases/
最新版本 sudo 1.9.17p1 提供了多种操作系统和架构的预编译包,包括:
- 源码包:
sudo-1.9.17p1.tar.gz
- CentOS/RHEL RPM 包:支持 el7、el8、el9
- Ubuntu DEB 包:支持 20.04、22.04、24.04
- Debian DEB 包:支持 deb11、deb12
系统版本检查
在升级 sudo 之前,需要确认当前系统的版本和架构,以选择合适的安装包。
检查系统版本
通用方法:
1 | # 查看系统信息 |
CentOS/RHEL 系统:
1 | cat /etc/redhat-release |
Ubuntu/Debian 系统:
1 | cat /etc/issue |
检查系统架构
1 | # 查看系统位数 |
检查当前 sudo 版本
1 | sudo --version |
升级前的重要准备:备份配置文件
在开始升级 sudo 之前,强烈建议先备份现有的配置文件,以防升级过程中出现问题时能够快速恢复。
备份 sudoers 配置文件
sudoers 文件是 sudo 的核心配置文件,包含了用户权限设置。升级前务必进行备份:
1 | # 备份主配置文件 |
验证备份文件完整性
1 | # 检查备份文件是否创建成功 |
恢复备份文件(如需要)
如果升级后出现问题,可以使用以下命令恢复:
1 | # 恢复主配置文件 |
其他重要文件备份(可选)
1 | # 备份 sudo 相关的日志配置 |
⚠️ 安全提醒:
- 升级前务必保持一个root终端会话开启,防止sudo升级失败后无法获得管理员权限
- 备份文件建议保存在安全的位置,避免误删
- 升级完成并确认正常工作后,可以删除备份文件
- 如果是生产环境,建议将备份文件复制到其他服务器保存
保持root会话的方法
在开始升级之前,请先打开一个root终端会话并保持运行:
1 | # 方法一:使用 su 切换到 root 用户 |
重要说明:
- 保持这个root会话直到sudo升级完成并验证正常工作
- 如果sudo升级过程中出现问题,可以通过这个root会话进行修复
- 切勿关闭此root终端,直到确认新版本sudo工作正常
在线安装方式
方法一:包管理器升级(推荐)
Ubuntu/Debian 系统:
1 | # 更新软件包列表 |
CentOS/RHEL 系统:
1 | # CentOS 7 |
方法二:下载预编译包手动安装
根据系统版本选择对应的安装包:
源码包:
💡 使用提示:点击上方链接可直接下载对应系统的安装包,下载后按照下面的安装命令进行安装。
📋 详细安装步骤
CentOS 7 x86_64:
1 | # 下载 RPM 包 |
CentOS 8/9 x86_64:
1 | # CentOS 8 |
Ubuntu 20.04:
1 | # 下载 DEB 包 |
Ubuntu 22.04:
1 | wget https://github.com/sudo-project/sudo/releases/download/v1.9.17p1/sudo-python_1.9.17-2_ubu2204_amd64.deb |
Ubuntu 24.04:
1 | wget https://github.com/sudo-project/sudo/releases/download/v1.9.17p1/sudo-python_1.9.17-2_ubu2404_amd64.deb |
Debian 11/12:
1 | # Debian 11 |
方法三:源码编译安装
对于不支持的系统版本,可以从源码编译:
1 | # 下载源码 |
U盘挂载+本地安装方式
在无网络环境下,可以通过U盘传输安装包进行离线安装。
1. 准备U盘
在有网络的计算机上下载对应的安装包到U盘。
📥 根据目标系统选择相应的安装包
方式一:直接点击下载(推荐)
请根据目标系统点击下方链接直接下载到本地,然后复制到U盘:
CentOS/RHEL 系统:
Ubuntu 系统:
Debian 系统:
方式二:使用命令行下载
1 | # 示例:下载 Ubuntu 24.04 版本到U盘 |
2. 检测和挂载U盘
检测U盘设备:
1 | # 插入U盘前后分别执行,找到新出现的设备 |
创建挂载点:
1 | sudo mkdir /mnt/usb |
挂载U盘:
1 | # 假设U盘设备为 /dev/sdb1 |
3. 本地安装
RPM 包安装(CentOS/RHEL):
1 | # 复制安装包到本地 |
DEB 包安装(Ubuntu/Debian):
1 | # 复制安装包到本地 |
4. 卸载U盘
安装完成后,安全卸载U盘:
1 | # 卸载U盘 |
5. 验证安装
1 | # 验证新版本 |
总结
重要提醒:
- 升级前建议备份
/etc/sudoers
配置文件 - 升级后务必验证功能正常性
- 及时升级对修复 CVE-2025-32462 和 CVE-2025-32463 安全漏洞至关重要
- 选择安装包时要匹配系统版本和架构
- 标题: sudo升级指南
- 作者: Teacat99
- 创建于 : 2025-07-02 16:53:00
- 更新于 : 2025-07-03 10:59:27
- 链接: https://www.teacat99.com/2025/07/02/sudo升级指南/
- 版权声明: 版权所有 © Teacat99,禁止转载。