ついにWindowsに「sudo」コマンドが登場

ついにWindowsに「sudo」コマンドが登場 - 画像


Windows 11のInsider Preview版に「sudo」コマンドが搭載されました。通常のコンソールセッションからでも管理者特権が必要なコマンドを動かせるようになっています。
Introducing Sudo for Windows! - Windows Command Line
https://devblogs.microsoft.com/commandline/introducing-sudo-for-windows/

ついにWindowsに「sudo」コマンドが登場 - 画像


「sudo」コマンドを使用するには事前に設定の「For developers(開発者向け)」ページにて「Enable sudo(sudoを有効化)」を有効化する必要があります。また、設定ページではsudoの実行方法を「新しいウィンドウで実行する」「入力を無効にして実行する」「インラインで実行する」の3パターンから選択できるとのこと。

ついにWindowsに「sudo」コマンドが登場 - 画像


初期状態では「新しいウィンドウで実行する」モードになっており、例えば下図のように「sudo netstat -ab」というコマンドを実行すると「Launched netstat in a new window.(新しいウィンドウでnetstatコマンドを実行しました)」と表示されます。

ついにWindowsに「sudo」コマンドが登場 - 画像


そして管理者特権を持った新たなコンソールウィンドウが開いてプロセスを実行するという仕組み。環境変数は維持されます。

ついにWindowsに「sudo」コマンドが登場 - 画像


「入力を無効にして実行する」モードではsudoコマンドを入力したウィンドウでプロセスを実行するものの、ユーザーからの入力を受け付けないため最初のコマンド以外の入力が必要な場合には使用できません。
「インライン」モードは動作がLinuxなどの「sudo」コマンドに最も似ており、sudoコマンドを入力したウィンドウでプロセスを実行し、stdin・stdout・stderrの全ての接続が維持されます。
管理者特権を持たないコンソールでsudoを実行する2つのモードでは、内部的に管理者特権付きで新たなsudoが実行されており、2つのsudoをRPC接続して入出力をリダイレクトしているとのこと。こうしてあたかも管理者特権無しのコンソールウィンドウで管理者特権付きのプロセスを実行しているかのように見せています。

ついにWindowsに「sudo」コマンドが登場 - 画像


MicrosoftはWindows向けsudoのオープンソース化に取り組んでおり、今後数カ月の間に詳細な情報を共有する予定とのこと。また、Windows向けsudoのフィードバックをGitHubリポジトリで募集中と述べられています。
◆フォーラム開設中
本記事に関連するフォーラムをGIGAZINE公式Discordサーバーに設置しました。誰でも自由に書き込めるので、どしどしコメントしてください!Discordアカウントを持っていない場合は、アカウント作成手順解説記事を参考にアカウントを作成してみてください!
• Discord | "Windowsで「sudo」が使えたら何が便利そう?" | GIGAZINE(ギガジン)
https://discord.com/channels/1037961069903216680/1205447466774962249

ジャンルで探す