Jump to...
redirecting...

Log for Ubuntu 台灣社群

有人吗
Ubuntu 26.04 終結 sudo 輸入密碼 46 年來「不回顯」的傳統 (★ 101 分)

Ubuntu 26.04 LTS(Long Term Support,長期支援版)預計在 2026 年 4 月 23 日發布,將把終端機中在 sudo(以管理者權限執行指令的工具)輸入密碼時「完全不顯示任何回饋」的行為,改成每輸入一個字元就回顯一個星號。過去在「[sudo] password for …:」後方只剩游標閃爍,讓新手常以為卡住、鍵盤沒反應;在高延遲遠端連線時,也更難判斷輸入是否真的送出。Canonical 這次選擇以更直覺的視覺提示,作為降低操作摩擦的小改動,但也因此點燃「Unix 傳統 vs. 現代 UX(User Experience,使用者體驗)」的爭論。

文章回顧,這種沉默提示可追溯到 1980 年在紐約州立大學水牛城分校(SUNY Buffalo)誕生的 sudo:在共用終端機普遍、旁人站在背後等待使用的年代,設計者刻意不顯示任何輸入符號,以降低肩窺(shoulder surfing)者用敲擊次數推算密碼長度的可能性。這個習慣延續近半世紀;即使 Linux Mint 曾預設提供可視回饋,Ubuntu 等主流發行版仍長期維持不回顯的傳統。

Ubuntu 這次改變的關鍵在 sudo-rs:Canonical 從 Ubuntu 25.10 起改用這個以 Rust(主打記憶體安全的程式語言)重寫的 sudo 實作。上游 sudo-rs 在 Ubuntu 26.04 beta 前將 sudoers(sudo 的權限設定檔)選項 pwfeedback 改為預設啟用,Ubuntu 也挑選納入開發版本,因此只有走 sudo-rs 路徑的系統會看到星號,傳統 C 版 sudo 套件不受影響。反對者擔心密碼長度外洩會削弱安全性;開發者則認為收益極小,因為只要能看到星號,多半也能看鍵盤或聽敲擊聲,而且圖形登入管理員 GDM(GNOME Display Manager)本就以圓點顯示長度。偏好舊行為的管理者仍可用 visudo(安全編輯 sudoers 的指令)加入「Defaults !pwfeedback」一行立即恢復沉默提示;文章也把此事放進 Ubuntu 26.04 更全面的現代化方向,例如 GNOME 50 全面採用 Wayland(Linux 圖形顯示協定)、Linux 核心 7.0,以及導入更多 Rust 版基礎工具如 uutils/coreutils(coreutils 為 Unix 基本指令工具組)。

Hacker News 留言多數認為這是早該做的 UX 改善,尤其在 SSH(Secure Shell,遠端登入協定)高延遲或鍵盤接觸不良時,至少能確認按鍵有進到終端機,避免為了檢查輸入而把密碼打在文字檔再貼上(反而更不安全)。但也有人提醒,安全討論不該用「完全沒影響」這種絕對語氣:密碼長度的確會縮小暴力破解(brute force)搜尋空間,雖然幅度可能不大,卻仍是負面屬性;此外在畫面分享、截圖、或把終端機輸出貼到錯誤回報時,星號可能把長度直接留在紀錄裡。另一派則反駁,真正更可行的側錄往往來自敲擊節奏、鍵盤聲音或直接看鍵盤,與其糾結星號,不如強化驗證方式與操作習慣。

留言也補充了實作細節:傳統 sudo 只要關閉終端機 echo(回顯)並維持 cooked/canonical 模式即可;若要「邊打邊印星號」,通常得切到 raw 模式並自行處理退格鍵等編輯行為,並非想像中那麼「簡單加個星號」。有人提議用不揭露長度的回饋(例如每次按鍵只顯示一個會輪轉的符號、或按下 Enter 後立刻清掉星號),也有人覺得 Ctrl+U 這類清除整行的快捷鍵一致性更實用。提出修補的開發者本人也現身說明,改動源於他對 PAM(Pluggable Authentication Modules,可插拔驗證模組)在輸入錯密碼時的固定延遲不滿,轉而先改善密碼提示的 UX,並補上「按 Tab 可暫時隱藏回顯」的作法;討論同時延伸到 Canonical 選用尚未到 1.0 的 sudo-rs 與 Rust 版 coreutils 是否過於冒進、以及 systemd(Linux 的初始化與服務管理系統)的 run0 搭配 Polkit(PolicyKit,權限授權框架)能否從根本取代 setuid(set-user-ID 權限位元)工具 sudo。另有留言糾正「46 年」指的是 sudo 從 1980 年算起,而非 Linux 或 Ubuntu 的歷史,還有人吐槽原文網站廣告過多影響閱讀。

👥 111 則討論、評論 💬
https://news.ycombinator.com/item?id=47464134
sudo su
Password:  🦀🦀🦀🦀

是 Rust 就要給螃蟹啊 (到底在紅什麼 XD)
26.04 加了 amdv3 的 binary,整個 package repository 變得好肥
[photo](media:AgACAgUAAx0CPRn5XQABAkr1ab60pj-HfNMqz3HHgM9-Oxi7khIAAvMOaxt8nfhV0N7ZjfH_MrwBAAMCAANzAAM6BA@telegram)