WebDAV mini-redirector
写真データを受け取るのに、FTPではなくWebDAVを使おうと思ったのは、送り主があまり詳しくなさそうな人だったからだ。FTPクライアントのインストールの仕方を訊かれても、私の手には余る。Windowsで言う「ネットワークプレースの追加」だったら、うまく説明できなくてもWindowsのせいにできる。
と思ったのが甘かった。「書いてもらったとおりにやったんですが」という電話があってから、約2時間、こちらもログイン失敗を繰り返し、あれ、こんなはずじゃなかったのに、と後悔。そのわけは。
IIS 5.0とWebDAVには深刻なセキュリティ問題があったのだが、この際それは置いておく(セキュリティパッチをお忘れなく)。IIS側は、WebDAVでアクセスしてもらうディレクトリに対し、匿名アクセスのチェックがなく、基本認証がかけられていることを確認し、「書き込み」「ディレクトリの参照」にチェックを入れる。
いままでだったらこれだけで「ネットワークプレースの追加」からアクセスできていたはずなのだ。現に、他のユーザはちゃんとアクセスできている。新たに設定したディレクトリに、新たなユーザがアクセスできないはずがない。
Windows 2000やMac OS 10.4(私の机上にあったのはその2つだけだった)から試してみると、新たに設定したディレクトリにちゃんとアクセスできるから、どうやらWindows XPの問題のよう。ログを見てみれば、XPのときだけ、UserAgentが "WebDAV mini-redirector" となっている。アヤシイ。
この「ミニリダイレクタ」は、"WebClient"サービスとしてWindows XPに実装されていて、「ネットワークプレースの追加」から呼ばれるようになっている。で、セキュリティ確保には必須のアップデート、Service Pack 2をインストールすると、基本認証が通らなくなる(仕様?)らしいのだ(余談。しっかり試したわけではないけれど、SP2インストール以前に設定したショートカットからはアクセスできるようなので、このセキュリティ強化にもなんだか穴がありそう)。
Windows 2000でアクセスできるのは、"WebClient"サービス実装ではなく、IE 4あたりから実装されている "Web Folder" という機能によるもので、もちろん Windows XP のIE 6〜7にも、この機能がある。
ということで、Windows XPには2つのWebDAVクライアント機能があるというわけ。ややこしい。
では今回のように、IIS 5.0(Apacheも同じかもしれない)で基本認証を使いたい、という時にはどうするか。今回は単純に "WebClient"サービスを停めてもらった。「マイ コンピュータ」を右クリックして、「管理」を出して、「サービスとアプリケーション」の中から「サービス」を選んで、というのを説明するのが、ちょっと大変だったけど。そしたら、無事「伝統的な」 "Web Folder" が立ち上がり、文字通りフォルダとして使えるようになった。これで解決。
Version Control with Subversion によれば、もうひとつ解決策がありそうだ。
「ネットワークプレースの追加」でサーバのURLを、"http://..." から始めるときに、"http://webserver.someone.who:80/webdav" のように port、つまり ":80" を明示することで、認証の問題を回避できるという。まだ試していないけれど、こちらのほうが簡単だったかもしれない。
- Category(s)
- 仕事の周辺