即將推出的 LTS 版本開始,每次在 sudo 密碼提示符下輸入,都會顯示一個星號——這個小小的使用者體驗(UX)修復,卻點燃了 Linux 近年來最激烈的爭論之一。

四十多年來,在 Linux 終端機中輸入 sudo 密碼後,畫面上什麼也不會顯示——沒有星號,沒有點,也沒有移動的游標。這種空白是刻意為之:一種防止「肩窺」(shoulder surfing)的防護措施,即透過計算輸入的字數來猜測密碼長度。Ubuntu 26.04 LTS,代號為 Resolute Raccoon,預計於 2026 年 4 月 23 日發布,將改變這一點。

「從理論上講,由於密碼長度暴露給觀看螢幕的人,安全性變差了,但這是微不足道的益處,遠遠被使用者體驗問題所抵銷。」

原始的 sudo 工具於 1980 年由 Bob Coggeshall 和 Cliff Spencer 在紐約州立大學水牛城分校創建。其無聲的密碼提示符是一個深思熟慮的安全決定,當時終端機是共享的,實體螢幕是完全開放的,威脅模型明確包括了站在你身後計算輸入字數的人。這種行為在近半個世紀的 Linux 發行版中一直保持不變。

當 Linux Mint 為其自己的 sudo 配置預設啟用視覺密碼回饋時,這種傳統開始動搖,悄悄地證明了「天不會塌下來」。儘管如此,包括 Ubuntu 在內的主流發行版仍然維持了經典的無聲提示符。

促使 Ubuntu 做出改變的催化劑是 sudo-rs,這是用 Rust 程式語言對經典 C 語言實現的徹底重寫。Canonical 從 Ubuntu 25.10 開始將 sudo-rs 作為預設的 sudo 實現——大多數使用者從未注意到這個轉變,因為命令名稱和行為在其他方面是相同的。

然後,在 Ubuntu 26.04 的 Beta 測試窗口前約兩週,上游的 sudo-rs 專案合併了一個補丁,預設啟用 pwfeedback 選項。Canonical 將這個補丁引入了 Ubuntu 26.04 的開發版本。舊版的 sudo 套件(有時標記為 sudo-ws)不受影響;只有 sudo-rs 路徑會顯示星號。

批評者指出了一個錯誤報告,其標題完美地捕捉了這種情緒:「sudo-rs 為每個輸入的字元回顯 *,破壞了比我還老的歷史安全措施。」Ubuntu 承認了該報告並將其標記為「不會修復」(Won't Fix)。上游的 sudo-rs 開發者也同樣拒絕讓步。

開發者的反駁論點基於兩點。首先,隱藏密碼長度的安全益處在實踐中微乎其微——任何靠近到能數螢幕上的星號的人,也同樣能直接聽到或看到你的鍵盤輸入。其次,更尖銳地說,大多數使用者的 sudo 密碼與他們的登入密碼相同——而後者在圖形登入畫面上已經顯示為可見的點狀符號。在開發者看來,在終端機中隱藏星號,而在登入時顯示它們,是一種安全表演(security theatre)。

偏好傳統無聲提示符的使用者和系統管理員,可以透過一個簡單的配置更改來恢復它。該設定透過 sudoers 文件進行切換,該文件應始終透過安全的 visudo 命令進行編輯,以防止語法錯誤導致你被鎖定。

然後將以下行添加到 sudoers 文件中:

`Defaults pwfeedback`

儲存並關閉。更改會立即在新的終端機會話中生效。無需重新啟動。

星號的更改是 Ubuntu 26.04 中更廣泛現代化的一部分。該版本將搭載 GNOME 50,完全運行在 Wayland 上,Linux 核心 7.0,並進一步採用基於 Rust 的核心工具——包括 uutils/coreutils,這是標準 Unix 命令列工具的 Rust 重寫。因此,切換到 sudo-rs 是更廣泛努力的一部分,旨在為 Ubuntu 的基礎架構帶來記憶體安全,以及現代的使用者體驗觀念。

無論你認為星號的更改是遲來的品質生活改進,還是對 Unix 哲學的危險背離,有一點是明確的:恢復的選項仍然牢牢掌握在你手中。開發者只是決定,預設應該偏向於那些對空白提示符感到困惑的新手,而不是那些珍視它的少數資深使用者。

Ubuntu 26.04 LTS Resolute Raccoon 預計於 2026 年 4 月 23 日最終發布。