13 ポイント 投稿者 GN⁺ 2026-03-22 | 6件のコメント | WhatsAppで共有
  • Ubuntu 26.04 LTSでは、sudo コマンド実行時にパスワード入力のたびにアスタリスク(*)が表示される視覚的フィードバックがデフォルトで有効化される
  • この機能はRustで書き直された sudo-rsの導入によって可能になり、Canonical は Ubuntu 25.10 からこれをデフォルトの sudo として採用している
  • 一部のユーザーはパスワード長が露出するリスクを理由に反対したが、開発陣はリスクはごく小さく、ログイン画面との一貫性を強調している
  • 従来方式に戻すには、sudoers ファイルに Defaults !pwfeedback を追加すればすぐに適用できる
  • 今回の変更は、GNOME 50、Linux カーネル 7.0、Rust ベースの coreutils などとあわせて進められている Ubuntu 26.04 のシステム近代化作業の一環である

sudo パスワード入力の歴史

  • 1980年、ニューヨーク州立大学バッファロー校で Bob Coggeshall と Cliff Spencer が最初の sudo を開発
    • 当時の端末は共有環境で使われることが多く、**「ショルダーサーフィン(shoulder surfing)」**防止のために入力表示を完全に隠していた
    • この設計は、その後ほぼ46年間にわたり、主要な Linux ディストリビューションすべてで維持された
  • Linux Mint は独自設定で視覚的フィードバックをデフォルト有効にし、最初に変化を試みた
    • Ubuntu など主要ディストリビューションは長い間、従来の無言入力方式を維持してきた

sudo-rs と Ubuntu の変化の過程

  • sudo-rs は既存の C ベース sudo を Rust で完全に書き直した実装

    • Canonical は Ubuntu 25.10 でこれをデフォルトの sudo に置き換えたが、ユーザー視点では動作は同じだった
    • 2026年2月、sudo-rs アップストリームで pwfeedback をデフォルト有効化するパッチがマージされた
    • Canonical はこれを 26.04 の開発ビルドに反映し、コミュニティ内で議論が巻き起こった
    • 主なタイムライン
    • 1980年: 初代 sudo 開発、無言入力がデフォルト
    • 2025年10月: Ubuntu 25.10 で sudo-rs 導入
    • 2026年2月: pwfeedback デフォルト有効化パッチをマージ
    • 2026年4月23日: Ubuntu 26.04 LTS リリース予定、アスタリスク表示をデフォルト適用

セキュリティ論争の両論

  • 批判側の主張

    • アスタリスク表示によってパスワード長が露出し、従来のセキュリティモデルが弱まる
    • 「歴史的なセキュリティ対策を壊している」というバグレポートが提出された
  • 開発者側の反論

    • 実際にはパスワード長が露出するリスクはごく小さく、近くで見ればキー入力音や手の動きからでも推測可能
    • 多くのユーザーの sudo パスワードはログインパスワードと同じであり、ログイン画面ではすでにドット(dot)で表示されている
    • したがって端末だけ無言のまま維持するのは、**「セキュリティ劇場(security theatre)」**にすぎないと主張している
    • 比較要約
項目 従来の sudo(無言) sudo-rs + pwfeedback
視覚的フィードバック なし 入力ごとにアスタリスク表示
パスワード長の露出 なし あり
ログイン画面との一貫性 不一致 一致
新規ユーザー体験 混乱しやすい 入力確認が可能
SSH セッション 無言 アスタリスク表示を維持
復元可能か 可能(!pwfeedback

従来方式に戻す方法

  • sudo visudo コマンドで sudoers ファイルを開き、次の1行を追加
    Defaults !pwfeedback  
    
  • 保存後、新しい端末セッションで即時適用
  • システム再起動は不要

Ubuntu 26.04 の近代化

  • 今回の変更は、**Ubuntu 26.04 LTS「Resolute Raccoon」**の全体的なシステム近代化の一部
    • GNOME 50(Wayland 専用)、Linux カーネル 7.0、**Rust ベースの coreutils(uutils/coreutils)**を含む
    • Canonical は Rust 導入によってメモリ安全性現代的なユーザー体験を強化している
  • sudo-rs のアスタリスク表示を巡る論争は、伝統的な Unix の哲学と現代 UX の衝突を象徴している
    • ユーザーは設定を1行追加するだけで、いつでも従来方式に戻せる
    • デフォルト値は「空白画面に戸惑う初心者」よりも、「アスタリスクを好む多数のユーザー」を優先する方向で決まった
  • Ubuntu 26.04 LTS は2026年4月23日に正式リリース予定で、現在開発中の状態
    • 既存の sudo-ws パッケージは pwfeedback 変更の影響を受けない

6件のコメント

 
sonnet 2026-03-22

肩越しに長さが分かってしまうことが深刻なセキュリティ脆弱性だというなら、なぜ Linux ターミナルにアクセスするすべてのキーボードにのぞき見防止カバーの装着が義務化されないのでしょうか? ただキーボードを見るか、隠しカメラで録画すれば終わりなのに。

 
ndrgrd 2026-03-22

肩越しにこれが見えるほどなら、タイピングしている指そのものが見えていることのほうを心配すべきではないでしょうか……
その距離なら、音自体を録音して何文字か数えることだってできそうですし。
そこまでセキュリティが心配で重要な場所なら、物理セキュリティキーを使うべきでしょう

 
yukinpl 2026-03-22

ユーザーがターミナル経由でログインする場合、パスワードは表示されず、リモート接続の ssh でもパスワードは露出しない。sudosupasswdssh、ターミナルログインのいずれもパスワードを表示したことはない。GUI のログイン画面だけが別途表示していた。むしろ今回の反映によって、さらに一貫性を損なっている。

 
GN⁺ 2026-03-22
Hacker Newsの意見
  • パスワード入力時に視覚的な表示を完全に隠す設定を選べる。 KDEでは/etc/sddm.conf.d/hide-password.confShowPasswordEcho=falseを追加して再起動、 sudoでは/etc/sudoers.d/password-no-visual-echoDefaults !pwfeedbackを追加、 GNOMEではunlockDialog.jsを修正してset_password_char('')またはecho_char=nullに変更した後、再起動が必要。

    • パスワード表示文字を絵文字に変えることもできるのか気になる。
  • 高遅延のSSH接続でsudoを入力すると、キー入力が通っているのか分からなくなったことが何度もあった。 VPNとIAM認証が絡んでいて、新しいパスワードが適用されたのかどうかさえ不確かだった。 こうした状況では、パスワードのフィードバック機能は本当に便利そう。特にRed Hatがこれを採用したらなお良いと思う。

    • 2004年にMandrake Linuxをインストールしていたとき、パスワード入力画面で何の反応もなく失敗した記憶がある。 当時UIが違っていたら、もっと早くLinuxを使い始めていた気がする。
    • パスワードを間違えて入力していたと途中で気づき、deleteキーを連打することがあまりにも多かった。
    • キーボードの調子が悪く入力に自信が持てず、パスワードをテキストファイルに打ってコピー&ペーストしたこともある。 セキュリティ的には良くないが、肩越しに覗く人はいなかった。
    • リモートサーバーではsudoパスワードを直接入力するより、nopasswordアカウントと公開鍵認証を設定するほうがよいと思う。
    • カーソルの点滅で入力の有無は確認できるので、完全に「止まって」いるわけではない。
  • macOSのログイン画面も直すべき。 パスワード入力欄が狭すぎて、長いパスワードを入力してもフィードバックがない。 キーボードが不安定だとログイン作業が非常にいら立たしい。

    • Caps Lockを言語切替キーに設定していたとき、ロック状態では小文字を入力できず、再起動するしかなかったことがある。
    • Open Core Legacy Patcher (OCLP) で古いMacに最新のmacOSを入れたが、アップグレード後はログイン画面でキー入力ごとに20〜30秒の遅延が発生した。 18文字のパスワードのうち13文字までしか表示されず、入力が止まったのかと思った。結局ログインまで30分かかった。
    • 昔のLotus 1-2-3のように、入力するたびに別の記号(例: 象形文字)が変わる方式は良かった。 パスワード長は露出するが、ユーザーにとっては入力フィードバックが明確だった。 関連する議論はSecurity StackExchangeで見られる。
  • ***の代わりにおかしな文字列を表示するジョーク版があってほしい。 例えば「iloveyouiloveyou」や「12345612345」のような偽パスワードが表示される感じ。

    • Lotus Notesのように、入力するたびに象形文字が変わるのも面白そう。
    • ただし、こうした方式では肩越しにパスワード長を数えるのが容易になる。
    • それでもインストールできるならすぐ試してみたい。
  • この決定は本当に良い変化だと思う。 最初は戸惑うかもしれないが、すぐ慣れるし、現実的にはセキュリティへの影響も大きくない。

    • ただし、望遠鏡、電力線監視、タイミング攻撃のような高リスクなシナリオでは、なお注意が必要。
    • 父のLinuxパスワードが1文字だったので、リモートサポート中に気づかなかったことがある。 無音プロンプトがその事実を隠してくれていたが、いずれにせよ1文字パスワードは無意味だ。
    • 昔は1台のコンピューターを複数人で使っていて、パスワード長の露出が攻撃に役立っていた。 今では重要性は下がっており、望むなら今でも無音モードに戻せる。
    • 画面を直接見られる状況なら、攻撃者にとってはキーボードを見るほうが効率的。 結局のところ、セキュリティよりUX改善の意味合いが大きい。
  • キー入力にフィードバックを与えるのは良いが、単純な1:1対応ではなく、別の方式のほうが良いかもしれない。 例えばxsecurelockは、入力時に線の上の点が動く形でフィードバックを返す。 これはパスワード長を隠しつつ、入力感覚を維持できる。 sudoではDefaults !pwfeedbackで同じ効果を得られる。 現実的には、物理アクセス攻撃が可能ならすでに他の方法で侵害できるため、これは単なるUX改善と見る。

    • 短いパスワードを使っている人にとっては、長さの露出がより危険かもしれない。
    • 逆に、入力長が見えることが役立つ場面もある。 間違ったパスワードを入力したとき、何文字削除すべきか分からずもどかしかったが、この機能はその問題を解決する。
  • 新しい挙動はオプションとしてのみ提供しても十分だった気がする。 デフォルトを変えると、配信中にsudoを入力した際にパスワード長が露出する可能性がある。

    • ただし配信者は通常こうしたリスクを理解しており、配信前にrootシェルを開いておくか、機能を無効にする。 しかもキーボードの音だけでも長さを推定できる。
    • デフォルト変更は大半のユーザーにとって有益であり、セキュリティリスクはごく小さい。
    • 実際には、ローカルのパスワードと同一でないなら大きな問題ではない。 そもそも配信中にsudoを使うこと自体がまれだ。
    • ライブ配信は特殊な状況なので、デフォルトはそのままにしておくのが合理的。
    • アクセシビリティ向上のためなら、デフォルトで有効にするほうがよいと思う。
  • 誰かがパスワードを入力しているときは、後ろを向く文化が必要。 逆に、他人の画面にパスワードプロンプトが表示されたら、自分から目をそらすべき。

  • 入力するたびに/ - \\ |のような回転文字を表示すれば、入力フィードバックを与えつつ長さを隠せる気がする。

    • 昔、あるソフトウェア(たぶんLotus Notes系)が入力ごとにランダムな数のアスタリスクを表示していた。 削除時も同じ規則で減るので、入力フィードバックは与えつつ長さを分かりにくくしていた。
    • ただ、それでもユーザーを混乱させる可能性があり、実質的な利点はない。
    • 攻撃者がキーボードの音で入力回数を数えることもできるので、大差はない。
    • Ubuntu初心者にはむしろさらに分かりにくくなるかもしれない。
    • IBM Notes時代にも、この「アスタリスク数の不一致」がユーザーの混乱を招いていた。
  • sudoがデフォルトでパスワードを隠す理由は、共有ターミナルと紙のプリンター(tty) 時代の名残。 昔は実際に紙へ入力内容が印字されて残ったため、セキュリティ上隠す必要があった。

    • また当時は、ターミナルごとに文字置換表示のための制御シーケンスが異なっており、互換性の確保が難しかった。 今ではほとんどの環境で問題なく、1%のユーザーは設定で元に戻せる。
 
kayws426 2026-03-22

これには反対です。

 
kh0324 2026-03-22

Macのまねをして問題なく動いているものをRustに置き換える。 今日もまたこうなんだな。