Microsoftは2月7日(現地時間)、公式ブログ「Introducing Sudo for Windows!」において、Windows 11のInsider Preview Buildでsudoコマンドが利用できるようになったとアナウンスした。「Sudo for Windows」と呼ばれているこの機能は、管理者ではないユーザーがコンソール上で管理者権限でコマンドを実行できるようにするもの。LinuxやmacOSなどのUNIXベースのOSを使っているユーザーにはなじみのある機能だが、Windowsにも導入された。

Sudo for Windowsとは

Windowsにおいて管理者権限でコマンドを実行するには、通常であれば最初に管理者モードでコンソールを立ち上げておく必要がある。しかしSudo for Windowsを使用すれば、通常モードで立ち上げたコンソール内でも、そのまま管理者権限でのコマンドの実行が可能になる。

Sudo for Windowsには次の3つのモードが用意されている。

  • In a new windows - 新しいウィンドウでコンソールを開いて管理者権限でコマンドが実行される
  • With input disable - コマンドは現在のコンソールのまま管理者権限で実行されるが、入力を受け付けない
  • Inline - コマンドは現在のコンソールのまま管理者権限で実行される

Sudo for Windowsを使う方法

Sudo for Windowsは2024年2月8日にリリースされたWindows 11 Insider Preview Build 26052で利用可能になった。このビルドはWindows InsiderプログラムのCanaryおよびDevチャネル向けに2024年2月8日にリリースされた(ただし、DevチャネルのArmデバイス向けビルドには含まれていない)。

Sudo for Windowsは開発者用の機能として提供され、デフォルトでは無効に設定されている。有効にするには、設定アプリで[システム]→[開発者向け]を選択して開発者モードの設定画面を開き、「Enable sudo(sudoを有効化)」のスイッチを「On(有効)」に切り替えればよい。モードの設定もこの画面で変更できる。デフォルトでは「In a new windows」モードになっている。

  • 開発者機能でsudoコマンドを有効にする 出典:Windows Command Line Blog

    開発者機能でsudoコマンドを有効にする 出典:Windows Command Line Blog

sudoを使ってコマンドを実行すると、権限の昇格を求めるダイアログが表示される。ここで「Yes(はい)」を選択すれば、前述のモードの基づいて指定されたコマンドが実行される。

Microsoftは、Sudo for Windowsが内部的にどのように動作するのかという仕組みの概要も説明している。その上で、「With input disable」と「Inline」の2つのモードは従来と異なる手続き管理者権限のプロセスが起動されるため、セキュリティ上のリスクを認識することが重要と警告している。

  • Sudo for Windowsが動作する仕組み 出典:Windows Command Line Blog

    Sudo for Windowsが動作する仕組み 出典:Windows Command Line Blog

オープンソースで公開も

MicrosoftではSudo for Windowsのオープンソース化にも取り組んでいるという。本稿執筆時点ではまだソースコードは公開されていないが、すでにGitHubリポジトリーは作られており、ユーザーエクスペリエンスを改善するためのフィードバックを募集している。

オープンソース化について、今後数カ月以内に詳細な情報を共有する予定だという。