Ubuntu 即将在 2025 年 10 月发布的 25.10 版本(代号 Questing Quokka),将成为首个将 Rust 语言版本的 sudo 工具(即 sudo-rs)作为默认实现的大型 Linux 发行版。这标志着 Ubuntu 和整个 Linux 社区在安全性与系统可维护性方面迈出重要一步。


Rust 重写 sudo:为什么值得关注?

s​udo 是 Linux 系统中极为关键的权限控制工具,用户通过它以管理员身份执行任务。而传统的 sudo 是用 C 语言编写的,虽然多年经过精心维护,但 C 语言天生缺乏内存安全保障,容易受到缓冲区溢出等漏洞的影响。

为了解决这一问题,非营利组织 Trifecta Tech Foundation (TTF) 在其 “Privilege Boundary” 项目中,启动了用 Rust 重写 sudo 的工作,旨在借助 Rust 的“编译时内存安全”机制,提高整个系统的安全性。更值得信任的是,原 sudo 的核心维护者 Todd Miller 也亲自参与了 sudo-rs 的开发,确保兼容性和平稳过渡。


用户使用基本无感,旧版 sudo 仍保留

对于普通用户来说,sudo-rs 的引入几乎不会影响日常操作。命令行调用方式保持不变,配置文件路径也一致,因此绝大多数用户不会察觉到有什么变化。

不过,Canonical 表示,新版 sudo 采用了“安全优先、功能渐进”的策略,一些特别冷门或过时的功能暂未重新实现。例如某些很少用到的选项或特定环境下的支持可能在初期缺失,后续会逐步补齐。

另外,出于稳定性考虑,旧版用 C 语言实现的 sudo 仍会保留,用户可以通过 Debian 的 alternatives 系统自由切换使用的版本。在 26.04 LTS 甚至之后几个版本中,这两种实现都将共存,Canonical 也会在文档中提供切换和配置指南。


Ubuntu 25.10 是试验场,为 26.04 LTS 做准备

Ubuntu 的长期支持版本(LTS)以稳定可靠著称,每隔两年发布一次,广泛应用于服务器、桌面和云平台。因此任何重大变更都必须经过充分测试。

Ubuntu 25.10 就充当了“试验田”的角色,在这个版本中引入 sudo-rs,一方面让开发者和社区提前熟悉,另一方面也能收集反馈、优化性能和稳定性,为 2026 年的 Ubuntu 26.04 LTS 打好基础。

这种逐步替换的策略,也体现了 Ubuntu 在创新与稳健之间的平衡。


不止 sudo:Rust 替代 coreutils 也在推进中

Canonical 并不满足于只用 Rust 重写 sudo。早在 2025 年 3 月,它就表示正在考虑用 Rust 替代传统的 GNU coreutils 工具包(如 lscprm 等常见命令)。

为了确保过渡平滑,Canonical 将引入三个新的软件包:

  • coreutils-from-uutils:Rust 语言实现版本

  • coreutils-from-gnu:当前使用的 GNU 版本

  • coreutils-from:包装器,可在两者之间自由切换

这样,用户可以在尝试新技术的同时,随时切换回熟悉的旧版工具,最大程度保障兼容性与可控性。

相较而言,sudo 的替换工作更为简单,因为它并不属于系统的“Essential”组件,替换后不会影响系统基础安装和核心运行。


想尝鲜?Ubuntu 25.10 开发版已开放下载

如果你对 Rust 版 sudo 感兴趣,或者想提前体验 Ubuntu 的最新变化,可以下载 Ubuntu 25.10 的每日构建版本(Daily Build)。该版本已经面向社区开放,适合有一定经验的用户进行测试和反馈。

需要注意的是,开发版本并不适合生产环境使用,安装前请务必做好数据备份。


总结:从 sudo 开始,Ubuntu 正在迈向更安全的未来

Ubuntu 25.10 引入 sudo-rs 是一个具有象征意义的变革,标志着 Linux 主流发行版正式拥抱 Rust 编写的关键系统组件。这不仅提升了系统安全性,也为长期演进打下了基础。

无论是日常桌面使用,还是企业级服务器部署,这种底层结构的革新都将逐步发挥作用。随着 Ubuntu 26.04 LTS 的临近,我们有理由期待一个更安全、更现代、更高质量的 Linux 生态正在形成。

Rust 不再只是开发者口中的“理想语言”,它正一步步融入我们日常使用的操作系统中,悄然改变 Linux 的未来。

发表回复