本当に非管理者アカウントでは生きていけないんです。

@ITコラム(41)に開発者の方から感想(意見かな)

当該記事への感想を編集部宛に頂いたので、ここにピックアップしてみます。どなたかはわからないので、こちらを見ているかわかりませんが部分的に取り上げさせて頂きます。箇条書きのところが頂いたコメントです。(文言は多少変更させて頂いているので、基の意図と異なっていたらすみません。あと、このエントリーのタイトルは私が勝手に付けました)

また、管理者アカウントでないとインストールや実行できないアプリケーションも多く存在する。また、データを書き込むようなアプリケーションの利用も制限されてしまう。管理者アカウントでないと動作しないアプリケーションの作りがよいともいえないが、そういうアプリケーションを作ってしまう開発者がいるぐらい非管理者アカウントの存在感は薄い。

恐らく、この辺りに対するコメントだと思います。

  • Visual StudioはAdministratorでないとデバッグを開始できない
    • このことがWindowsのプログラム開発において管理者アカウントが必要となり、それに起因してAPIの使い方が不適切になることで非管理者権限では動作しないアプリケーションが量産された。
    • こんな事態を繰り返すから普段から管理者アカウントになってしまった。

なるほど、デバッガ自体がそういった仕様なんですね。私はVisual Studioを使って開発していたのは遠い昔と、最近のExpress EditionみたいなのでC#をちょこっと触ったぐらいなので、この背景に気が付きませんでした。
コメントからの追記:VS2005からは管理者アカウントがなくてもデバッグが可能だそうです。ということは、やはりそれ以前は管理者アカウントが必要だったと言うことですね。
コメントからの追記:デバッグに必要なのはDebuggerUserアカウント(”Debugger Users” というグループ)だそうです。VC6の頃からすでにあったみたいです。特殊な権限は専用アカウントを作るというUNIX的な方法は分権できていいですね。


じゃぁ、やっぱりMicrosoftの責任かよ。w
まぁ、それはさておき。

  • (現在は違うかもしれないが、)個々の各アプリケーションが非管理者アカウント環境に対応できているのか確認するのは著しく大変

私はWindows環境ではネットワーク系のアプリケーションが多く、開発環境はEclipseぐらいしか入ってないので参考にならないかも知れません。
普段の環境で試してみたところでは、たとえばWireshark(旧Ethereal)などのドライバを使う系はダメでした。私はネットワーク検査をやるので、使えないことは大問題です。
非管理者アカウントで利用できないのが解せなかったのが、プリンタに付いてきた「らくちんCDダイレクトプリント」というラベル印刷ソフトです。これこそ非管理者アカウントで十分じゃないのかしら。

  • 非管理者アカウントでウイルス対策ソフトをインストールしてしまったら、コアなファイルは検査できいという事故が起きてしまう。

この辺りは私は未確認ですが、ウイルス対策ソフトのインストーラーがタコで、Administrators以外のアカウントでのインストールを許可していたら、そういうことが起こりうるかも知れませんね。
実際、そういうウイルス対策ソフト(のインストーラー)はあるのでしょうか?

  • テスト記事を期待します。

記事にしてみたいのですが、なかなか時間がないのが現状でして。と、言い訳してみます。w
開発者系の環境をよく知らないので、私も期待しています。是非、ブログででも公開して頂けると助かります。私も、日々実験中みたいなものなので、気が付いたことがあればここに紹介していきたいと思います。

私の環境は「その場しのぎ」です。

ちなみに私は前述のこともあり、管理者アカウントを基本としてログインしています。記事中でも「その場しのぎ」として紹介している方法の応用です。

起動時に「うさぎ文学日記 - アプリケーションの起動を制御する「XYZStartup」で紹介したアプリケーションを「DropMyRights」を使って起動します。
そして、その中にプログラムランチャーを入れておくと、そのランチャーはUser権限で起動します。そうすると、そこから起動されるアプリケーションなどはUser権限で起動します。(エクスプローラーはAdministrator権限で起動してしまいますが)

  • 必要なものはランチャー経由でrunas

どうしても管理者アカウントが必要なアプリケーションに関しては、そのプログラムランチャーに登録する際に「runasコマンド」を併用しています。



非管理者アカウントで日常利用することも、管理者アカウント+その場しのぎで日常利用することも、ある程度のスキルが必要なのが現状ってことですね。たとえば、ウチの嫁さん(非IT系)辺りにこれを一人でやらせるのは至難の業だと思います。

(追記)参考までにWindows VISTAのUAP(User Account Protection)関連の画面

  • 管理者アカウント

ユーザーアカウント制御

ユーザーアカウント制御

  • 非管理者アカウント

ユーザーアカウント制御



「sen-u」が管理者アカウントです。

(追記:2006年9月3日)AdobeAcrobatをUser権限でインストールしたら


こんなのがでてきました。他のアプリケーションのインストーラーもこういう作りにしたらいいのに。
もう十年近くVisualなんとかでアプリケーションを作ったことないけど、この実装は難しいのかしら?
コメントからの追記:Setup.ExeやInstall.Exeというファイル名のものを実行すると自動的にこれが出るのだそうです。