你有没有在终端输入sudo密码时,盯着一片空白的屏幕怀疑自己到底按了几次回车?

这个让无数Linux用户抓狂的体验,终于要结束了。Ubuntu 26.04 LTS将在明年4月23日发布,届时每次按键都会显示星号——一个看似微小的改动,却引爆了Linux社区近十年来最激烈的争论之一。

一场跨越46年的沉默

1980年,纽约州立大学布法罗分校的Bob Coggeshall和Cliff Spencer写出了最早的sudo工具。当时的终端是共享的物理设备,屏幕暴露在开放空间,真正的威胁是站在你身后数按键的人。

「密码长度暴露给旁观者,理论上安全性更差,但这点收益与用户体验问题相比微不足道。」

sudo-rs项目的维护者这样解释。这个空白提示的设计初衷是防止"肩窥"攻击——通过观察按键次数推断密码长度。但在人均笔记本、屏幕隐私膜普及的2024年,这个威胁模型已经严重过时。

更讽刺的是,这个"安全传统"在过去46年里从未被主流发行版质疑过。Linux Mint曾默默开启视觉反馈,证明天不会塌。但Ubuntu、Debian、Fedora们依然守着那片沉默的空白。

Rust重写成为转折点

真正的变量是sudo-rs——用Rust语言从零重写的sudo实现。Canonical从Ubuntu 25.10开始将其设为默认,大多数用户甚至没有察觉,因为命令名和行为表面完全一致。

变化发生在Ubuntu 26.04 beta窗口期前约两周。上游sudo-rs项目合并了一个补丁:默认启用pwfeedback选项。Canonical迅速将其cherry-pick到开发分支。

这里有个关键分叉:传统的sudo包(有时标记为sudo-ws)不受影响,只有sudo-rs路径会显示星号。这意味着Ubuntu实际上在并行维护两条sudo产品线,而Rust版本正在接管未来。

社区撕裂:安全原教旨主义vs用户体验

技术论坛的反应迅速两极分化。

一方认为星号反馈降低了安全性,尤其是在演示、直播、开放式办公等场景下。密码长度泄露确实会增加暴力破解的字典优化空间——哪怕只是从8位缩到6-10位的范围。

另一方则指出一个尴尬事实:大多数用户在空白提示下会重复输入、误触回车、最终把密码写进shell历史或粘贴到错误位置。安全设计的初衷是保护密码,但糟糕的体验反而迫使用户采取更不安全的行为。

打开网易新闻 查看精彩图片

这场争论的本质是威胁模型的代际冲突。1980年的攻击者是物理空间中的旁观者,2024年的攻击者更多存在于网络层、钓鱼邮件、键盘记录器。星号反馈对后者毫无影响,对前者的防御价值也随着使用场景剧变而稀释。

Canonical的算盘:Rust作为基础设施战略

跳出UX争论,Canonical的选择透露了更深层的布局。

sudo是Linux系统的核心特权机制,运行在数百万台服务器和云实例上。用Rust重写并替换这个C语言遗留组件,是Canonical"内存安全基础设施"战略的关键一步。

C语言编写的sudo历史上出现过多次内存安全漏洞,包括2019年的CVE-2019-14287权限绕过和2021年的CVE-2021-3156堆缓冲区溢出。Rust的所有权模型在编译期消除整类漏洞,这对企业级发行版的长期维护成本有决定性影响。

pwfeedback只是sudo-rs的默认行为差异之一。Canonical通过这个"小功能"实际上在完成一次大规模基础设施迁移的公众测试——用用户体验改进作为包装,降低技术替换的感知风险。

行业连锁反应

Ubuntu的决策正在产生压力传导。

Debian作为Ubuntu的上游,尚未在sid分支中跟进sudo-rs默认启用pwfeedback。Fedora的sudo-rs打包状态显示其仍在评估阶段。Arch Linux的AUR中有sudo-rs但非默认。

发行版之间的分化意味着:未来两年,Linux用户将在不同系统上遇到截然不同的sudo行为。这对跨平台脚本、自动化工具、文档教程都构成兼容性挑战。

更深远的影响在于sudo-rs本身的可持续性。原始sudo由Todd Miller维护了30年,但个人维护者的 burnout 风险始终存在。sudo-rs由Memory Safety Initiative等组织支持,代表了开源基础设施从个人英雄主义向机构化维护的转型。

你的下一步

如果你现在就想体验星号反馈,可以手动配置:在/etc/sudoers或/etc/sudoers.d/下添加Defaults pwfeedback。传统sudo和sudo-rs都支持这个选项,只是后者在Ubuntu 26.04中将其设为默认。

对于运维团队,建议现在开始测试sudo-rs的兼容性。虽然命令接口一致,但配置解析、日志格式、错误提示的细微差异可能在自动化流程中暴露。

这个改动真正的启示在于:那些被视为"不可触碰"的技术传统,往往只是等待一个合适的重写时机。Rust正在系统性地吃掉Linux的基础设施层,而用户体验改进是最容易被接受的特洛伊木马。