ハクソク

世界を動かす技術を、日本語で。

Ubuntu 26.04が46年間の沈黙を破り、sudoパスワードを廃止

概要

  • Ubuntu 26.04 LTSでsudoパスワード入力時にアスタリスク表示がデフォルトに変更
  • 40年以上続いた無表示方針が見直され、ユーザー体験重視へ転換
  • **sudo-rs(Rust実装)**の導入がこの変化のきっかけ
  • セキュリティ議論が活発化しつつも、設定で従来の挙動へ戻すことも可能
  • 他のコアユーティリティもRust化・近代化が進行中

Ubuntu 26.04 LTSでsudoパスワード入力時にアスタリスク表示へ

  • Ubuntu 26.04 LTS(コードネーム: Resolute Raccoon、2026年4月23日リリース予定)で、sudoパスワードプロンプト時に1文字ごとにアスタリスクが表示される仕様変更
  • 40年以上、sudoパスワード入力時は画面に何も表示されない(アスタリスク・ドット・カーソル変化なし)が標準だった
  • この無表示仕様は**「ショルダーサーフィン(肩越しのぞき見)」対策**として設計された歴史
  • Linux Mintが先行してアスタリスク表示を採用、Ubuntuなど主流ディストリビューションは伝統的な無表示を維持してきた

sudo-rs導入と仕様変更の経緯

  • 2025年10月リリースのUbuntu 25.10から、sudoの実装がC言語版からRust製のsudo-rsに切り替え
  • sudo-rsの導入当初は挙動に変化なしだったが、2026年2月にpwfeedback(アスタリスク表示)をデフォルト有効化するパッチが本家sudo-rsにマージ
  • CanonicalはこのパッチをUbuntu 26.04開発版に適用
  • 従来のsudoパッケージ(sudo-ws等)には影響なし。sudo-rsのみアスタリスク表示

セキュリティ議論と賛否

  • 反対派は「パスワード長が画面から推測可能となり、歴史的なセキュリティ措置が損なわれる」と主張
  • Ubuntu・sudo-rs開発陣は「実際のリスクは極めて小さい」「グラフィカルログイン画面では既にドット表示が一般的」と反論
    • 物理的に覗き見できる距離なら、タイピング音や指の動きでも長さ推測は可能
    • **端末でだけ無表示にするのは“セキュリティ・シアター”**との見解
  • 新規ユーザーの混乱防止や、入力が受け付けられていることの視覚的フィードバックが主なメリット

sudoパスワード入力表示の比較

| 項目 | 従来sudo(無表示) | sudo-rs(pwfeedback有効) | |:---|:---|:---| | 視覚フィードバック | なし | 1文字ごとにアスタリスク | | パスワード長の露呈 | なし | あり(覗き見対策弱) | | ログイン画面との一貫性 | 不一致(GDMはドット表示) | 一致 | | 新規ユーザー体験 | 混乱しやすい | 入力受付が明確 | | SSHセッション | 無表示 | アスタリスク表示 | | 従来挙動への復帰 | — | sudoers設定で可能 |

従来の無表示挙動へ戻す方法

  • sudoersファイルを編集し、pwfeedbackを無効化
    • visudoコマンドで編集推奨(構文エラー時のロックアウト防止)
sudo visudo
# 以下の行を追加
Defaults !pwfeedback
# 保存して終了
  • 変更は新しいターミナルセッションから即時反映。再起動不要

Ubuntu 26.04における近代化の流れ

  • GNOME 50(Wayland専用)、Linuxカーネル7.0搭載予定
  • uutils/coreutilsなど、他のコアユーティリティもRustベースへ移行中
  • sudo-rsの導入・アスタリスク表示も近代化の一環
  • メモリ安全性の向上UXの現代化を重視する方針
  • 伝統と利便性のバランスを巡る議論が続く中、設定変更で柔軟に対応可能

まとめ

  • Ubuntu 26.04 LTSではsudoパスワード入力時のアスタリスク表示が標準となる
  • セキュリティとユーザー体験のバランスを巡る議論が続く
  • 設定変更で従来の無表示挙動にも戻せる柔軟性
  • 近代的なUXと安全性の追求がUbuntuの今後の方向性

Hackerたちの意見

高遅延のSSH接続でsudoプロンプトの入力がちゃんと認識されてるか悩むことが何度あったか。アカウントを作ってたサーバーは、VPNやIAMサービスの認証メカニズムと部分的にリンクしてるみたいだった。必須のパスワードリセットプロセスがあって、時々sudoがその新しいパスワードに設定されてたり、他の時は古いパスワードだったり。高遅延の接続とパスワード認証が組み合わさると、ほんとに最悪だった。何かを打ち間違えたのか、パスワード自体が間違ってるのか、コピーしたパスワードが通ったのか二重に貼り付けたのか、全然わからなかった。これは素晴らしい追加だと思うけど、Red Hatが採用することにつながるならの話だけどね。彼らのVMで使ってたのはそれだったし。
過去に壊れたキーボードで問題があったこともあって、どのキーを押したか確信が持てなかったから、パスワードをテキストファイルに入力して(かなり危険だけど)、それをプロンプトに貼り付けてた。もちろん、誰かの前でやることはなかったし、肩越しに見るなんて問題もなかった。
この変更はいいと思うけど、リモートマシンでsudoパスワードを入力するのはやめた方がいいよ。代わりに、特別な管理アカウントにnopasswordを設定して、公開鍵認証だけを有効にしよう。
心配する必要は全くなかったかも。SSHはTCPを使ってて、これはパケットロスの際に再送信を含むトランスポート制御を行うんだ(文字通り「tcp」の「tc」)。高遅延のSSH接続でパスワードが登録されない場合、ほぼ間違って入力したってことだよ。
入力したかどうかは、点滅するカーソルを見ればわかるから、これは「フリーズ」してるわけじゃないよね。
間違ったパスワードを投稿しちゃったかもって気づいて、必死に「削除」キーを叩いて入力をリセットする回数が多すぎる。
2004年頃、誰かがLinuxのCD(たぶんMandrakeだったかな?)をくれて、それをインストールしようとしたんだけど、パスワード入力のところで詰まっちゃって、うまくいかないと思ってWindowsに戻ったんだ。Linuxを使い始めたのは13年後だった…あの変なUIの決定がなければ、もっと早く切り替えてたと思う。
入力した後に、/ - \ | のような変化する文字セットからランダムに一文字を表示するのはどう?最初はランダムな一文字から始めて。そうすれば、文字を入力したかどうかは確実にわかるし、観察者にはパスワードの長さがわからない。
それでも人には変だし、混乱を招くだけだと思うし、特に意味もないよね。
あなたの提案がよくわからない。入力した後に一文字を表示するなら、何が変わったの?ランダムなセットからのランダムな文字があることの利点は何?
数十年前に、確かLotus Notesだったと思うけど、実際にはLotus Notesじゃなかった気がする、そんな感じのソフトウェアパッケージがあって、入力した各文字に対応する小さなランダムな数のアスタリスクを表示してた。キーを一つ押すと、画面にアスタリスクが二つ表示されることもあったりして。文字を削除するときは、二つ消えるように追跡してた。あれはちょっと賢いと思った。入力が認識された時にフィードバックをくれるけど、肩越しに見てる人にはパスワードの長さを簡単にはわからせない程度の混乱を与えるから。
ああ、パスワードを入力するたびにスピナーが回るってこと?それで、IBMがNotesで使ってた「星の数が合わない」って問題が解決されるんだね。ユーザーはめっちゃ混乱してたから。
新しいUbuntuユーザーには、これが全くエコーしないよりも混乱するかも。「そうすれば確実に…」なんて、全然違うよ。
もちろん、相手が数を数えられる場合は別だけど。もし数えられるなら、聞こえるキー入力の回数を数えることもできるし、特に録音してて、後で音声を編集する時間があればね。
これはすごく良い決定だと思う。最初はすごく混乱するけど、何年も経つうちに慣れて、いつの間にかそれが特異なことだってことを忘れちゃう。現代では、これがパスワードを危険にさらすシナリオは考えられないし、同じ努力で他の方法でも危険にさらされると思う。
そうだね…ターゲットと同じ部屋にいるわけだし…彼らの画面を見てパスワードの長さを確認できるよね。あるいは、彼らが入力するのを見てキーボードを見れば、もっと多くの情報を得られる。絶対的に考えれば、何も表示しない方が安全だけど、実際にはあまり関係なくて、みんなにとってはただの小さな痛みだよ。
私も良い決定だと思う。ただ、少なくとも一人のワークフローを壊すことになる。父のLinuxパスワードは一文字なんだ。画面共有でサポートしてた時はそれを知らなかったから、見えなかったし。彼が教えてくれたから今は知ってるけど、サイレントプロンプトがその事実を守ってた。良い決定だと思うけど、一文字のパスワードはセキュリティの観点からは無意味だね。
それには同意するな、俺はセキュリティの仕事してるし。初期の頃はみんなでコンピュータを共有してたから、使うのを待ってる人が後ろに立ってることがよくあったんだ。画面がない場合もあって、テレタイプだけだったから、入力した内容は全部ハードコピーで残ってた。アカウントロックの管理もなかったかもしれないし、パスワードの長さ(長くはなかったけど)を知ることが、ブルートフォース攻撃を減らすための重要な情報になってたかも。今はあんまり関係ないと思うけど。もし気にするなら、サイレントモードに戻すこともできるよ。
誰かが、***をコメディーなパスワードやめちゃくちゃ悪いパスワードに置き換えるジョークバージョンを作るべきだね。実際のパスワードを入力してるときに、「iloveyouiloveyou」とか「12345612345」とか「hunter42hunter..」が画面に表示されるみたいな。
これ、絶対インストールするわ。
Lotus Notesみたいにして、キーを押すたびに文字通りのヒエログリフの行を更新するのがいいよ。
新しい動作を有効にするオプションを作ればよかったのに。デフォルトを変える必要はなかったと思う。セキュリティについて言えば、「ショルダースーフィング」はあまり心配しなくてもいいかもしれないけど、sudoを使ってる人のライブストリームやプレゼンを見てると、パスワードの長さがネット上にさらされちゃうよね(しかもそれが記録されるから、ハッカーたちが後で見つけられるし!)。新たな脆弱性をリモートの世界に持ち込んじゃったね。
アクセシビリティ機能は、デフォルトでオンになっている方が多くの人に役立つよね。
誰かがライブストリーミングしてるときは、画面に個人情報をさらす危険性をよく理解してるから、パスワードを入力する前に躊躇するよね。この機能を無効にするか、ストリームを始める前にルートシェルを開くと思う。それに、彼らのストリームを増幅してキー入力を聞くこともできるし。
ライブストリーミングは、普通のユーザーには良いデフォルトを変えることを考えるべき珍しい状況のいい例だと思う。それに、誰かのパスワードが正確に19文字ってわかる脆弱性は、トレードオフとしては十分に低いと思う。特に、ライブストリーム中にキー入力を聞いてそれを特定できるからね。
これはすごく特定の恐怖で、ユーザー層の中でもニッチな部分に関係してるね。sudoのサイレントパスワードは人生で唯一経験したことがあって、ほんとに不快だった。
デフォルトにする必要がないのはなんで?レガシーな決定を見直すのには賛成だよ。99%のユーザーにとって助けになるし、セキュリティリスクもほとんどないように思える。
もしsudoのパスワードがその長さで漏れるなら、もっと長いパスワードが必要だよ。長さを隠すのはただのセキュリティシアターだ。君の特定の例では、ライブストリームには通常音声があるから、長さはすでに公開されてるしね。
実は、ずっと前からそのオプションはあったんだよね。Mintはずいぶん前からデフォルトを変えてたし(例えば、https://forums.linuxmint.com/viewtopic.php?p=1572457を見てみて)。デフォルトを変えることが大事なんだよ。多くの人は設定できるかどうか調べないから。アスタリスクのフィードバックが可能だとか、有用だってことに気づかないかもしれないし、実際に見せられないとわからないんだよね。
この変更を見て嬉しい。GUIのパスワードプロンプトではすでにそうなってたし、ターミナルも同じようになるのが嬉しい。これは誰かがチェスタートンのフェンスを見て、無思慮に壊そうとしたわけじゃない。ちゃんと考えられた変更で、「うん、これは変えるべきだ、改善だし、セキュリティが大幅に減るわけじゃない」と言えるものだよ。
他の人にパスワードの長さを知られることが、セキュリティの意味のある低下じゃないってこと?
数年前、[0]がパスワード入力フィードバックについて次のようなポイントを挙げてた: > 一時期、バッファなしモードでパスワードを受け付けるアプリケーションが豊富にあった。その多くは、ユーザーが入力するたびに「*」記号を文字ごとにエコーするためにそうしていた。そのシンプルな機能はかっこよく見えるし、ユーザーにフィードバックを与えるけど…でも、キー入力の速度が漏れてしまうリスクがあって、パスワード入力時には避けたいことだ。これはSSHのキー入力タイミング防御に対する反応だった。この機能は、最近のOpenSSH/Dropbearバージョンで攻撃者にキー入力タイミングを漏らすリスクがまだあるのかな?もしそうなら、サーバーでは無効にしておくのが賢明かも。[0]: https://news.ycombinator.com/item?id=37309122
誰かAppleにMacOSのログイン画面を直すように言ってよ。パスワードが信じられないほど狭いボックスより長いと、文字が入力されてるかどうかの追加フィードバックがないんだ。それに、フレークなキーボード(例えば、そこにあってはいけない小さなほこりの粒から)と組み合わさると、すごくイライラするログイン体験になる。何度も何度も…
なんだこれ、MacOSのログイン画面… Capslockでキーボードの言語を切り替えてると、コンピュータがロックされたときに小文字のパスワードが打てないんだよね。Capslockも効かないし、Shiftを押しても小文字にならない。結局、再起動しないと入れないっていう。
みんなが昔のLotus 1-2-3のパスワードの扱いを採用してくれたら、もっと嬉しいな。自分は使うには若すぎたけど、他の人がログインするのを見てすごいと思った。隠されたパスワードの文字を示すグリフが、キーを押すたびに変わって、入力してるのがわかるんだよね。確か、エジプトのヒエログリフみたいなかっこいい文字だった気がする。(たぶん、実際のパスワードのハッシュじゃないよね。そんなのはバカだし。パスワードの長さを示すものだったと思うけど、それは情報を漏らすかもしれないけど、ユーザーには便利だよね。)追記:これは自分の記憶とちょっと違うかもしれないけど、同じシステムかもね。https://security.stackexchange.com/questions/41247/changing-... もしそういう実装だったら、あんまり良くないね。
記事によると、sudoは共有端末のためにデフォルトでパスワードを隠してるんだって。ガラスの端末が登場する前からの単純な名残だと思ってたんだけど。例えば、ガラスの端末から立ち上がって、他の誰かが使うときに、ログアウトしたらスクロールバックはクリアされるんじゃないの?でも、ガラスの端末以前のサイレントログインは理にかなってるね。実際に入力した文字が物理的な媒体に印刷されるわけだから。ログイン: cool_user パスワード: hunter2 がゴミ箱の中のプリントアウトに残ってたら?それは明らかにセキュリティの問題だよね。うーん、彼らの言葉を信じるけど、もしターミナルのパスワードプロンプトがエコーしない理由を聞かれたら、実際のテレタイプ端末の名残だと思ってたかも。
サイレントsudoパスワードは本当の問題じゃないよ。これに関しては、セキュリティを少しでも犠牲にする気はないね。これは、自分が少数派の立場にいることがわかることの一つで、一般的に人間に対する評価が下がる。まあ、Ubuntuらしいけどね。彼らはずっと自分じゃないオーディエンスを探してるみたい。Debianが社会的圧力に抵抗してるのはちょっと心配だけど。Debianはマーケティングや企業の圧力には屈しないみたいだけど、時々、そういう圧力に囲まれると影響を受けちゃうこともあるみたい。