Windows 11 Insider Preview Build 26052.1000から使えるようになったsudoコマンドを有効にするための設定とそのオプションについてのメモです。
Microsoft は最新の Windows 11 Insider Preview Build 26052で Windows 向け Sudo を導入しました。この機能は、通常のコンソール セッションから管理者特権のコマンドを直接実行するのに便利です。これにより別の昇格されたコンソールを開く必要がなくなります。
設定 > システム > 開発者向け
Windows 11 24H2のsudoコマンド有効化の設定
設定 → システム → 開発者向け → sudoの有効化 をオンにする
設定をオンにしようとしたときには、「Enable Sudo for Windows」の「Running the sudo command could expose your device and personal data to security risks or harm your device.」という警告メッセージが表示されます。Insider Preview版なので英語ですが正式リリース時には日本語で表示されると思います。
意味としては「Sudo コマンドを実行すると、デバイスと個人データがセキュリティ リスクにさらされたり、デバイスに損害を与えたりする可能性があります。」という警告メッセージです。
リスクを承知の上で「はい」を押してsudoコマンドを有効化します。
sudoの有効化をオンにすることによって、プロセスの実行方法について3つのオプションが選べます。
sudoによるアプリケーションの実行方法を構成する
構成オプションの説明
新しいウィンドウで表示 (In a new window) [既定]
Sudo for Windows は、新しい管理者特権のコンソール ウィンドウを開き、その中でコマンドを実行します。これは、sudo が有効な場合のデフォルトのオプションです。
入力クローズ (With input disable)
Sudo for Windows は現在のウィンドウで昇格されたプロセスを実行しますが、新しいプロセスの stdinput は閉じられます。ユーザー入力を受け付けないため、昇格後に入力を必要としないコマンドに適しています。
インライン(Inline)
Windows の Sudo は、現在のウィンドウに接続された stdinput、stdoutput、および stderror を使用して昇格されたプロセスを実行します。新しい昇格されたプロセスは入力を受け取り、出力を現在のウィンドウにルーティングできます。
コマンドプロンプトでsudoを実行した場合の例を次に示します。画面内の上は「sudoの有効化」がオフの時です。「Sudo is disabled on this machine. To enable it, go to the Developer Settings page in the Settings app」メッセージが表示されて使えません。PCごとの設定になるので後日また「Developer Settings page」ってどこだろう?となりそうです。下は「sudoの有効化」がオンの時です。
sudoコマンドを引数なしで実行した時に、Usage: sudo [OPTIONS] [COMMANDLINE]... [COMMAND] といったコマンドの説明が表示されればsudoが使える状態です。
Sudo for Windowsを使用するとユーザーは既存のコンソール セッション内でコマンドを簡単に昇格できます。Linuxベースでsudoを使ったセキュア運用に慣れている場合、Windowsにも取り入れて運用できるようになると期待しています。
■参考リンク
Introducing Sudo for Windows [Microsoft Windows Developer Platform]
■関連記事
Windows 11 Insider Preview Build 26052.1000を適用 (2024/02/10記事)
Windows 11 Insider Preview Build 26040.1000を適用 (2024/02/07記事)