Ubuntu 26.04 终于改了:46 年来,sudo 输入密码时第一次不再“毫无反应”

Ubuntu 26.04 将默认启用 sudo 密码输入反馈。本文解释这项看似很小的改动为什么拖了 46 年才出现,它和 sudo 的传统安全设计、用户体验以及未来可能引入的 sudo-rs 有什么关系。

阅读时长: 5 分钟
共 2194字
作者: eimoon.com

很多 Linux 用户第一次接触 sudo 时,都会经历一个有点微妙的瞬间。

你敲下一条需要提权的命令,系统提示输入密码。于是你开始打字。
但终端什么都不显示,没有星号,没有圆点,没有任何提示,像是键盘突然坏了一样。

如果你已经习惯了,这当然不算什么;可如果你是新手,或者哪怕只是短暂走神,都很容易怀疑自己到底有没有把密码输进去。

这件事存在了几十年,以至于很多人都默认它就是 Unix 世界不可动摇的一部分。
但 Ubuntu 26.04 做了一件看起来很小、却很有象征意味的事:默认启用 sudo 密码输入反馈。

换句话说,用户在输入密码时,终端终于会给出可见的字符反馈,不再像过去那样完全静默。

这次变化不只是一个交互细节

因为它表面上只是一个交互细节,背后其实牵着 Linux 世界里一个很典型的问题:

传统安全习惯,和现代用户体验,到底该怎么平衡?

在很多老用户眼里,sudo 输入密码时不显示任何内容,几乎是一种常识。
可对更多普通用户来说,这种“完全无反馈”的设计并不天然高级,它只是让一件原本简单的动作显得更不确定。

Ubuntu 这次调整的重要性,不在于星号本身,而在于它第一次明确站到了“默认体验也值得优化”这一边。

原来为什么一直不显示?

sudo 过去长期坚持静默输入,核心原因来自一个传统安全考虑:

  • 如果终端里出现一个字符反馈,旁边的人就知道你输入了多少位密码

这个逻辑并不是完全没有道理。
密码长度本身确实也算信息,一旦泄露,就会缩小攻击猜测空间。

所以在老派 Unix 设计里,最省事也最稳妥的做法就是:

  • 完全不回显
  • 连“你按了几个字符”都不告诉旁观者

问题在于,这个设计后来逐渐变成了一种惯性,而不是一个被反复审视的取舍。

它在多年前或许更能成立,因为那时系统面对的用户大多是有经验的管理员。
但今天 Ubuntu 的用户群体早就不只是一小撮命令行熟手了。

Ubuntu 26.04 改的到底是什么?

这次变化的核心是默认启用 pwfeedback 行为,也就是在 sudo 输入密码时显示掩码字符,而不是完全静默。

你看到的不会是真实密码,而是类似:

********

或者等价的掩码反馈。

这意味着:

  • 用户知道系统确实接收到了输入
  • 打错或漏输时更容易察觉
  • 首次接触 Linux 的人不会再被“什么都没显示”这件事吓一跳

从表面看,这只是把一段看不见的输入过程变得可见一点。
但从产品层面看,它其实是在把 sudo 从“默认站在终端老手一边”的设计,稍微往普通用户这边拉回来一点。

为什么这件事拖了这么久?

如果你问一个很直接的问题:
“这不就是一个星号提示吗,为什么 2026 年才默认打开?”

答案通常不在技术难度,而在文化惯性。

Linux 和 Unix 世界里,很多体验细节之所以长期没动,不是因为没人知道可以改,而是因为它们被包裹在一套很强的历史正当性里:

  • 以前一直这样
  • 安全上说得过去
  • 熟手不会抱怨
  • 那就别动

这种惯性在基础设施软件里非常常见。
很多交互体验不是“最优解”,而只是“历史上留下来的保守解”。

这也是为什么 Ubuntu 这次改动看起来小,象征意义却挺大。
它相当于在说:兼顾安全和可用性,不应该被当成一种妥协,而应该被当成默认目标。

这会不会降低安全性?

会带来一点点信息暴露,但影响通常没有很多人想得那么大。

更准确地说,这项变化引入的是一种有限、已知、可理解的代价

  • 旁边的人可能知道你输入了几位密码

但与之交换的是非常明确的体验收益:

  • 用户知道输入真的生效了
  • 更少的误判和重复输入
  • 更低的新手困惑成本

这件事有点像很多安全设计里的经典问题:
不是“有没有风险”,而是“这个风险和它解决的问题相比,值不值得”。

对今天的桌面 Linux 和更广泛的 Ubuntu 用户群体来说,Canonical 显然认为这个交换是值得的。

而且,别忘了现实世界里真正常见的安全问题,往往也不是“旁边有人数你的密码位数”,而是:

  • 用户用弱密码
  • 提权权限配置过宽
  • sudoers 写得太随意
  • 机器本身没有物理安全

跟这些比起来,密码输入时显示星号,通常并不构成最大的风险项。

这件事和 sudo-rs 有关系吗?

很多人看到这条新闻时,还会顺手联想到另一个关键词:sudo-rs

这是 Rust 社区推动的 sudo 重写项目,目标之一是用更现代的语言和更严格的内存安全模型,去重新实现一类极其核心、同时又高度敏感的系统工具。

从方向上看,这两件事都属于同一类变化:

  • 不再把“历史上一直这样”当成充分理由
  • 重新审视老工具的默认行为
  • 在安全、可维护性和使用体验之间寻找新的平衡

不过这次 Ubuntu 26.04 关于密码反馈的调整,本质上还是 sudo 默认行为和分发策略层面的变化,不等于 Ubuntu 已经全面切换到了 sudo-rs

更准确地说:

  • pwfeedback 这件事,是交互层改进
  • sudo-rs 讨论的是实现层与长期安全维护问题

它们可以出现在同一轮舆论里,但不完全是一回事。

这类小改动真正说明了什么

基础软件里最容易被低估的,往往正是这种看起来不起眼的默认行为。很多体验门槛并不来自复杂功能,而来自一连串很小的摩擦:命令到底有没有生效,系统是不是卡住了,刚才输入的内容有没有被接收。对长期使用 Linux 的人来说,这些细节往往早就被习惯掩盖了;但对新用户来说,它们会直接影响对整套系统的第一印象。

放到这个背景里看,Ubuntu 26.04 这次调整的意义就不只是“给 sudo 密码加上星号反馈”这么简单。它更像是在重新审视一类长期存在、却并不一定合理的旧默认值。对于已经习惯传统 sudo 行为的人来说,这个变化未必会带来明显影响;但对更广泛的 Ubuntu 用户,尤其是刚接触终端的人来说,更明确的输入反馈至少能减少不必要的困惑。

所以,这次改动真正值得注意的地方,不在于功能有多大,而在于它说明默认交互本身也值得被重新设计。sudo 的核心逻辑没有变化,但用户第一次和它打交道时的感受,已经和过去不一样了。

关于

关注我获取更多资讯

月球基地博客公众号二维码,扫码关注获取更多 AI 与编程资讯
📢 公众号
月球基地博客作者个人微信二维码,扫码交流 AI 与编程话题
💬 个人号
使用 Hugo 构建
主题 StackJimmy 设计