sudoの使い方
使い方は簡単で、sudoに続けて管理者権限で実行したいコマンドを指定すればよい。sudoのオプションを以下の表に示す。
たとえば、netstat.exeでは、「-b」オプションの実行には管理者権限が必要になる。このような場合
sudo netstat -b
とすることで、一般ユーザーで起動したコンソール(Windows Terminal)内から、管理者権限が必要なコマンドを実行できる。
書式としては、
sudo.exe [サブコマンド] [sudoオプション] [実行コマンドとオプション]
となる。
ただし、実行前にUACの通知で実行許可を与える必要がある。sudoに限らずUACの通知では「Alt+y」で「はい」を選択でき、マウスクリックは不要だ。その後、設定に応じてコマンドが実行される。
なお、sudoコマンドを起動するユーザーのユーザー種別が「管理者」の場合には、UACの通知で「はい」を選択すればいいが、「一般ユーザー」の場合、管理者のユーザー名とパスワードを入力する必要がある。もっとも、sudoは、開発者など比較的高度な作業をするユーザーを想定しており、管理者権限を持たない一般ユーザーに指定されているようなユーザー向けではないので、これでいいのであろう。
管理者権限で実行しているコンソールからは、以下の書式でsudoコマンドの設定を変更できる(詳細は、sudo.exe --help参照)。「<指定>」には、以下の表の項目を指定する。
sudo.exe config --enable <指定>
sudoが有効なら、コンソールでもsudo自身を使って
sudo sudo config --enable normal
のように設定値を変更できる。
設定としては、コマンドの実行方法を指定するだけなので、特に問題はないはずだ。インラインを指定すれば、Linuxとほぼ同じ使い方ができる。この場合なら、オプションで一時的に別ウィンドウで表示なども指定が可能。
いろいろと試してみたが、入力禁止(設定としては「入力が無効な場合」)では、完全に入力を禁止できていなかった。たとえば、
sudo sudo config --enable disableInput
sudo cmd.exe /c copy con sudotest.txt
this is test.
^Z
type sudotest.txt
とすると、コマンドに対して入力が可能で、キーボードからファイルに入力ができしまう。3行目はコマンドに対するユーザー入力なので何でも構わない。4行目の「^Z」は、Ctrlキーを押しながらZキーを押すことを意味する(入力終了の意味)。上記のコマンドでは、カレントディレクトリにファイルを書き込むので、もし試すときにはカレントディレクトリには充分注意してほしい。
Windows Command Lineブログにある解説「Introducing Sudo for Windows!」(https://devblogs.microsoft.com/commandline/introducing-sudo-for-windows/)では、stdinをクローズしてコマンドを起動するとしているが、conデバイスまでは禁止していないようだ。Windowsの標準コマンドであれば問題はないが、当面はインターネットから入手したプログラムなどには利用しない方がよさそうだ。
UACが組み込まれたのは2007年のWindows Vistaで、このときからrunasコマンドは使い物にならなくなった。コンソールを管理者権限で起動するのは、suコマンドで管理者になって実行しているのと同じ。管理者権限で間違ったコマンドを起動してしまう可能性もあった。sudoの登場までに17年、いやちょっと長すぎるだろう。

この連載の記事
-
第471回
PC
Windowsのコマンドラインでエイリアスを使う -
第470回
PC
Windows用のパッケージマネージャー「Winget」 プレビュー版で機能が充実してきた -
第469回
PC
Windows Updateの27年 悪役だった頃から改良が進んで、徐々に目立たない存在に -
第468回
PC
2025年のWindowsどうなる!? Windows Insider Programの状況をあらためて見る -
第467回
PC
Copilot+ PCのNPUでカメラを処理する「Windows Studio Effects」 その内容や効果は? -
第466回
PC
PowerToysの最近の新機能には、複数アプリを指定位置に起動する「ワークスペース」や新規作成のカスタマイズがある -
第465回
PC
WindowsのPowerShellからBluetoothデバイスを調べる -
第464回
PC
Windows 10のサポート切れまで1年を切った さてWindows 10マシンをどうする? -
第463回
PC
Windows Terminal Preview版でSixelグラフィックスを実際に表示させてみる -
第462回
PC
Windows Terminal Preview版でSixelグラフィックスを扱う -
第461回
PC
Copilot+ PCを買ってみたが、「今焦って買う必要はない」のかもしれない - この連載の一覧へ