OS = Windows Server 2003 SP1 のとあるサーバー機をセットアップ中のこと。
ふとしたきっかけで、どういうわけか、hosts ファイルの設定をまったく読み込んでいないことが発覚した。
Microsoft のサイトなどで調べたところ、「ipconfig /displaydns」を実行すれば、hosts ファイルの設定内容が反映された形で、名前解決の結果キャッシュが表示される、ということだったので、まずはこのコマンドを実行してみたところ、「
could not display DNS resolver cache.」というエラーメッセージが表示されるのみだった。
このエラーメッセージで Microsoft のサイトや、Google などで日本語サイトを検索してみたが、これといった収穫はなかった。強いて言えば、
WinFAQ の過去ログに、
hosts ファイルが読み込めない? というスレッドがあり、薀蓄を蓄えるにはなかなかよかったが、結局未解決のまま終わっているようだった。
hosts ファイルを読み込んでくれないマシンは、ある1台だけで、他の同じ OS のマシンは特に問題は起きていなかった。いろいろ思案した挙げ句、hosts ファイルの格納先フォルダのアクセス権の設定を確認したところ、問題のマシンと正常動作しているマシンとで相違が見つかった。
なぜこのようなアクセス権設定になってしまったのか、経緯はわからなかったが、とりあえず、正常動作しているマシンにそろえて、%systemroot%\system32\drivers フォルダのアクセス権設定を、
- Administrators = フルコントロール
- System = フルコントロール
- Power Users = 読み取り専用
- Users = 読み取り専用
に設定し、この設定をサブフォルダ及びファイルに継承するよう指定した。
すると「ipconfig /displaydns」で見事ずらっとホスト名及びそのアドレス情報の一覧が表示されるようになった。
とりあえず一件落着。