Windows Server 2003 および WindowsXP までであれば、共有フォルダに Everyone に対するアクセス許可があれば、外部からアクセスし放題だったのであるが、Windows Server 2008 においては従来の方法では匿名アクセスができなくなっている。
ここで「共有フォルダに Everyone に対するアクセス許可がある」とは、以下の2つのアクセス許可が同時に満たされている状態を指す。
- フォルダに対する NTFSアクセス許可 がある
- ファイル共有に対するアクセス許可がある
このような設定において匿名アクセスができなくなっている理由は2つある。1つでないところが非常にやっかいだった。
- ファイル共有に対する匿名アクセスが制限されるポリシーが設定されている
- 匿名アクセスのアカウントが Everyone に含まれなくなった
すなわち匿名アクセスを有効にするためには、以下の3つの作業をする必要がある
- 匿名アクセス可能なファイル共有名をポリシーで登録する
- フォルダに対する NTFSアクセス許可 のアカウントとして ANONYMOUS LOGON を指定する
- ファイル共有に対するアクセス許可のアカウントとして ANONYMOUS LOGON を指定する
この最後のポリシーの位置は コンピュータの構成\Windows の設定\セキュリティの設定\ローカル ポリシー\セキュリティ オプション\ネットワーク アクセス : 匿名でアクセスできる共有 である。ドメインに参加していない場合は、管理ツールのローカルセキュリティーポリシー ツールを利用して設定する。
また、確認をしていないが ポリシーには Anonymous Logon グループのメンバをローカル コンピュータ上の Everyone グループのメンバにする という項目もあり、これを利用することもできそうである。ただしファイル共有以外にも影響があるため、匿名でのファイル共有だけが目的であるなら利用すべきではない。
設定している様子を動画にしたものを以下においておいた。
この件を調べる必要が生じたのは Velocity のインストールで問題が発生したからである。以前失敗した時の理由として共有名8文字以下ではないか、という想像をしていたのだが、これが理由だったようだ。なので上記デモ動画では共有名がVelocity 設定で利用した VShare になっている。
Windows Server 2008: Setting up an anonymous LAN file share? (TechNet Forum) で同じ問題に当たっている質問に回答してみたがどうなるかな。