last update: 2013/09/03

2002/08/09

ユーザーグループの話

そのー、うちのサイトのナビゲーションバーは単にdivでくくってaをベタに並べただけのマークアップで、世間的に「それはよろしくない」とか言われていて「機械的にul-liに書き変えるか…」とか思ってた矢先に、XHTML 2.0ではnl(たぶん、navigation listだと)という要素が導入されているらしいとかいう話を聞いてひたすら足踏みしているkawazoelです。

1ヶ月ぐらい前に、「動作が緩慢だ」とかいってAdministrator権限ではなくてPowerUser権限のユーザでの作業を始めたわけですが、その顛末を。結論から言うと、私のイメージ的にはPowerUserにはAdministratorまでは行かないけどもかなり多めの権限があると思ってたんですが、思ったほどではなかった。

NTFSによるドライブは、UNIX並み(ぐらいかなぁ)にアクセス権を設定できて、むしろ、UNIXよりも細かく設定できたりします。ということは、ファイルのCreateOwner以外はさわれないファイルというのは当然ながらPowerUserには触れないわけですな。しかしながら、普通にPowerUserを使っていて新しいドライバなどを落としてきてそれをNTFSのバックアップフォルダにおいたり、NTFS上にあるhttpdやhtmllintをアップデートしたりするわけですが、そのたびに「アクセス権がたりねぇ」とか文句を言われるわけです。当然ですな、そのドライブはAdministrator権限がないと自由に扱えないわけですから。

とはいえ、コレでは些細なバックアップ作業さえもPowerUserでは出来ないことになるので、重い腰を上げてディスクアクセス用のユーザグループを新設して、そのグループに対して各NTFSドライブのルートをフルコントロールできる権限を与えて、しっかり解決、となったわけです。ルートにフルコントロールできる権限を設定しておけばその子ディレクトリもその設定を継承してフルコントロールできますが、Windowsフォルダとか、System32フォルダとかはそれとは別に独自のアクセス権が設定されているので、明示的にその特殊フォルダのアクセス権設定に対して権限の追加を行わない限り、ルートをフルコントロールにしていてもシステムフォルダをフルコントロールする権限が与えられることはないので安心です。

で、次に困ったのはCD-ROMドライブのコントロールでした。どうもPowerUserではCD-ROMドライブをフルにコントロールできないらしく、CD-ROMから起動するようなゲームは出来ませんでした。コレに気に入ってPowerUserで作業していたんですが、コレが災いしたようでPowerUser上からCDの書き込みウィザードを実行すると、百発百中で書き込みに失敗するんですよ。しかし、メディアがダメになったというわけではなくて、メディア自体になにも書き込めていないようなんですな。つまり、CD-Rに書き込むオペレーションの権限がない、と。

とはいえ、単にCD-Rドライブの調子が悪かった可能性がある、というのも否めないので(というか、現に調子が悪いので確証がないんです)、結論を出すには至らずその辺はきっちり調べる必要がありそうですが、そんなことを一人で調べるとメディアが何枚あっても足りないしいい加減に疲れるということで、その辺の検証はパソコン雑誌に譲ることに(というか、ユーザ権限の深い所を突っ込んだ記事をあまりみたことがないなぁ)。

まー、他にもいろいろ問題があったような気がするんですが、最近気がついたのはFFFTPで通信していると30分で強制的に通信が切れるらしい、とかいう問題でして。AirH"ぐらい遅い回線だとHTTPもFTPも変わらないような気がしますが、とりあえず日々のMozillaを落とすのに私はFTPクライアントからanonymousで落としてるんですが、PowerUserで落としているときに1900秒前後で通信が途絶えるんですね。1900秒っていうのは、1800+通信タイムアウト待ち90秒+αっていうことで、そこから30分という目星がついたんですが、これ、Administrator権限でやると切れませんし、試しに(権限云々がない)WinMeな友人にFFFTPを入れさせて同じファイルを落とさせてみて、切れない所をみるとやはり…

もっとも、コレがFFFTP固有の問題なのかユーザ権限によりシステムのほうから通信をカットされているのかは不明なので、ヒマをみてWindows XPのftpコマンドで試してみようかと思ってます。

とりあえず、explorer.exeのプライオリティをあげたら昔感じてたもったり感がなくなったので、またAdministrator権限を持ったメインユーザで作業しようかと思ってるんですが、shellをプライオリティをあげて起動させる方法ってあるんでしょうか…。レジストリをいじってお得意の shell=explorer.exe を書き換えるとかでいいのかな…。

comments powered by Disqus