Windows XPを管理者権限ではないアカウントで常用する

Linuxのように、Windowsをふだん管理者権限でないアカウントで使用し、必要な場合だけ管理者権限を使用する方法を説明します。Secondary Logonサービスが開始されている必要があります。

GUIを使用している場合はアイコン右クリック→別のユーザーとして実行とすればすみますが、コマンドラインからは以下のようにすると便利です。


現在、ログインしているアカウント名はdeveloperです。このアカウントは自分で作ったアカウントです。ふだん、開発に使用しています。

いろいろなグループに属しています。しかし、Administratorsグループには属していません。管理者権限に属していないので、システム全体に影響を与えるような操作はできません。

このスクリーンショットではプロンプトを自分流にしていますが、これはPROMPT環境変数で設定できます。

\vimのアクセス権を確認すると、Administratrosグループでは書き込みができますが、それ以外のUsersグループでは読み取ることしか出来ません。

案の定、_vimrcというファイルを書き込みしようとしても、アクセスが拒否されました。

suというコマンドを用意しました。中身を確認するとrunasコマンドで別のsupervisorというアカウントでcmdを実行するという記述になっています。これを実行すると、supervisorアカウントのパスワードが求められます。

パスワードを入力すると今度はプロンプトの記号が#になりました。これはsupervisorアカウントのユーザー環境変数で設定しているためです。

そして、このアカウントで\vimの下にファイルを作成すると、こんどはアクセスが拒否されず、作成に成功しました。

アカウントはAdministratorsグループに属しています。このコマンドラインからプログラムを起動すると、それは管理者権限で実行されます。



このように、ふだんは管理者権限ではないアカウントでコマンドライン中心の作業をおこない、必要な場合だけsuコマンドで管理者権限のアカウントに切り替える、という方法をとることにより、Linuxのように安全な操作をすることができます。セキュリティの確保、誤操作の防止、システムの保護という観点で有用です。

なお、コマンドラインからさまざまなアプリケーションを起動するには、カンタンに起動できるようランチャーを自作すると良いでしょう。くわしくはまた後日、別のエントリで解説することにします。