Ubuntu 26.04 Ends 46 Years of Silent sudo Passwords
Starting with the upcoming LTS release, every keystroke at a sudo password prompt will echo an asterisk — a small UX fix that has ignited one of Linux's fiercest debates in years.
历史背景
原始sudo工具于1980年由Bob Coggeshall和Cliff Spencer在纽约州立大学布法罗分校创建。其沉默的密码输入是一个深思熟虑的安全决策——来自一个终端共享、物理屏幕开放的年代,威胁模型明确包括站在身后数击键来猜测密码长度的人。该行为持续了近半个世纪的Linux发行版。
变革的催化剂:sudo-rs
变化的催化剂是sudo-rs——用Rust编程语言从零重写经典C实现。Canonical从Ubuntu 25.10开始默认使用sudo-rs。然后,在Ubuntu 26.04测试窗口前两周,上游sudo-rs项目合并了一个补丁,默认启用pwfeedback选项。
关键时间线
- 1980: 原始sudo创建于 SUNY Buffalo。沉默密码输入从第一天起就是默认值。
- 2025年10月: Canonical用sudo-rs (Rust)替换经典基于C的sudo。
- 2026年2月: 上游sudo-rs合并pwfeedback补丁。Canonical将其 cherry-pick 到Ubuntu 26.04每日构建。
- 2026年4月23日: Ubuntu 26.04 LTS "Resolute Raccoon" 发布。
安全论战
批评者指出:隐藏密码长度的安全收益可以忽略——任何足够近到能数屏幕上星号的人,也足够近到直接观看或听到你的击键。开发者更指出:大多数用户的sudo密码与登录密码相同,而登录画面已经显示可见的占位符圆点。在终端隐藏星号却在登录时显示圆点,在开发者看来是"安全剧院"。
— sudo-rs upstream commit message
恢复传统行为
sudo visudo # 添加以下行: Defaults !pwfeedback
更广阔的图景
星号变化是Ubuntu 26.04更大现代化的一部分。该版本将搭载仅运行在Wayland上的GNOME 50、Linux 7.0内核,以及进一步采用Rust核心工具——包括uutils/coreutils——Rust重写的标准Unix命令行工具。切换到sudo-rs因此是将内存安全(以及显然是现代UX感觉)带到Ubuntu基本管道的更广泛努力的一部分。