BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Sudo for Windows - Windows 11でコマンド実行を昇格

Sudo for Windows - Windows 11でコマンド実行を昇格

ブックマーク

原文リンク(2024-02-22)

Microsoftは、Sudo for Windowsが最新のWindows 11 Insider Preview Build 26052で利用可能になると発表 した。このツールは、ユーザーが昇格していないコンソール・セッションから直接昇格コマンドを実行する方法を変える。Sudo for Windowsは直感的で使い慣れたソリューションを提供し、新しい昇格コンソールを開く必要性をなくし、ユーザー体験を向上させる。

Sudo for WindowsはGitHubでオープンソース化されており、計画や追加機能は今後数ヶ月のうちに共有される予定だ。Sudo for Windowsにまだ実装されていない拡張機能を求めるユーザーには、MicrosoftはGerardo Grignoli氏のgsudo を有力な選択肢として提案している。このツールは多数の追加機能と設定オプションを提供している。

Windows Sudoを有効にするには、Windowsの「設定」>「開発者向け」ページで、「Sudoを有効にする」オプションを切り替える。

画像

あるいは、昇格したコンソール・セッションからコマンドを使って有効にすることもできる。

sudo config --enable <configuration_option>

Sudo for Windowsは3つの設定オプションをサポートしており、それぞれが異なる目的を持つ。

  1. 新しいウインドウを使用する (forceNewWindow): コマンドを実行するために新しいコンソールウィンドウを開く

  2. 入力を閉じる (disableInput): 標準入力を閉じた状態で、現在のウィンドウで昇格プロセスを実行し、ユーザー入力を制限する

  3. インライン (normal): 他のオペレーティングシステムのsudoと同様の動作をし、stdin、stdout、stderrを現在のウィンドウに接続する

シナリオの例は以下の通りである。

  • 「新しいウィンドウを使用する」構成:sudo netstat -abを実行すると、新しい昇格コンソールウィンドウが開き、その中でコマンドを実行する

  • 「入力を閉じる」構成:標準入力を閉じた状態で、現在のウィンドウで昇格プロセスを実行する

  • 「インライン」構成:stdin、stdout、stderrを現在のウィンドウに接続する

プロセスを sudo で昇格させるとき、ユーザーアカウント制御 (UAC) ダイアログがユーザーの確認を求める。確認されると、選択した設定に基づいてプロセスが昇格される。ユーザーはコンソールで sudo -h を実行することで、sudo コマンドのオプションパラメーターを調べることができる。

"新しいウィンドウを使用する"構成では、sudo.exeは新しい昇格コンソールウィンドウを起動し、現在のウィンドウのディレクトリと環境変数をミラーリングする。"入力を閉じる"と"インライン"構成では、sudo.exeは新しい昇格プロセスを開始する。元の昇格していない sudo.exe は、昇格したプロセスとRPC接続を確立し、情報交換を容易にする。

画像

潜在的なセキュリティリスクのため、「インライン」または「入力を閉じる」構成を使用する場合は注意が必要である。「入力を閉じる」構成は、昇格プロセスがユーザー入力を読み取らないようにすることで、リスクを軽減する。

作者について

この記事に星をつける

おすすめ度
スタイル

BT