sudo for windows

windowsを仕事で仕方なく使っているが、制限ユーザにレジストリをいじらせたいときがある。といっても直接ではなく、間接的なのだが。sudo for windowsというのがそれをかなえてくれそうだ。一応、WindowsXPからVistaまで対応している。残念だがWindows2000は対象外。ライセンスは修正BSDとのことでかなり自由に使える。プラグイン対応しているので拡張もしやすそうだ。

インストール

dotNetFramework2.xが必要なので先にインストールしておく。それさえしておけば、おもむろにインストーラを起動してクリックするだけ。

設定

インストールされるとsudoersというグループが作成されているので、そのグループにsudoさせたいユーザを参加させる。「コンピュータの管理」から「ローカルアカウントとグループ」を選択して追加させる。パスワードのあるユーザでないと動かないので注意。
基本設定はこれだけ。
sudoersファイルを弄くると実行できるプログラムを限定したりいろいろできるらしい。

使い方。

CUI

>sudo cmd args...

GUI

プログラムアイコンを右クリックするとsudo...メニューが現れるのでそこで選択すると、パスワードを要求されるので、自分のパスワードを入力すれば、Administratorグループの権限でそのプログラムが実行される。少しの間ならばパスワードすらキャッシュされて超便利。もうrunasなんていらない。

仕組み(らしきもの)

どうもWindowsサービスとしてサーバが動き、クライアントであるsudoがお願いするようだが、よくわからない。コンテキストの切り替えもないようだし。