Debian 使用者名稱引發軒然大波 (★
59 分)
Debian 專案近期遭遇使用者名稱(username)設定上的問題,起因於兩個使用者建立工具
useradd和
adduser對於允許的字元集產生歧見。
useradd工具來自
shadow-utils套件,而
adduser則是 Debian 專案自行維護的工具,長期以來因相容性考量而維持著與
useradd不同的使用者名稱規則。
此問題的核心在於一個 Debian 專屬的修補程式(patch)被移除,該修補程式允許使用遠超出
shadow-utils預設允許範圍的字元,包含大寫字母及純數字的使用者名稱。移除修補程式後,
adduser的測試出現錯誤,引發 Debian 開發者針對使用者名稱的允許字元和長度進行討論。討論中,安全疑慮、鍵盤佈侷限制以及 Unicode 正規化形式(normalization form)等問題陸續浮出檯面。部分開發者主張允許 UTF-8 字元,以提升使用者體驗,但此舉可能導致同形異義字攻擊 (homograph attack) 的風險,且需要更多時間及資源來確保系統的穩定性與安全性。
經過一番討論與考量,Debian 決定在 Debian 13 版本中,
adduser預設將拒絕 UTF-8 使用者名稱,僅在使用
--allow-bad-names選項(未來將改名)時才允許,並將持續支援
--allow-all-names選項直接將所有字元傳遞給
useradd處理。此決策被認為在現階段是較為務實的作法,日後再評估擴展允許字元的可行性。
👥
61 則討論、評論 💬
https://news.ycombinator.com/item?id=42338134