ファイル・サーバへアクセスする場合、通常は登録済みのアカウントやパスワードを指定する必要がある。だが匿名アクセス機能を利用すると、Guest権限でサーバに接続できる。権利は制限されるが、特に設定が不要なので、設定や運用が簡単になる。匿名アクセスを利用するためには、空のパスワードを持つGuestアカウントを有効化する。ただしセキュリティ設定には注意すること。
対象:Windows XP Professional、Windows Server 2003
Windows OSのファイル共有機能を使って、ネットワーク経由でファイルをアクセスする場合、通常はユーザーアカウントとパスワード(および必要ならドメイン名)を指定して、サーバに接続する。しかし場合によっては、以前のWindows NTやWindows 2000、Windows 9x/Meなどのように、「匿名アクセス」を利用したいこともある。
匿名アクセスとは、ファイルサーバ側でGuestアカウントを有効にし、Guestのパスワードを空に設定しておくと、クライアントからはユーザー名やパスワードを指定しなくても(指定してもよいが、すべて無視される)、サーバに接続し、Guest権限でファイルにアクセスできるという機能である。Guest権限なので、(通常はNTFSや共有フォルダなどに付けられたアクセス権により)重要なファイルを書き換えるなどの操作はできないが、ファイルを簡単に受け渡すなどの用途には十分利用できる。また、実験環境や完全に閉じたネットワークなどでは、いちいちアカウントを作ったり、ドメインを構築して、さらに共有アクセス権を設定したりするなどの操作が不要なので、簡単に利用できる。
この匿名アクセス機能は、セキュリティ的には問題が多いため、デフォルトでは利用できない。Windows XPには「簡易ファイルの共有」と呼ばれる機能が用意されているが、設定方法などが異なっていて、簡単に設定できないし、ドメイン環境では利用できない(この機能については今後別TIPSで取り上げる)。
本TIPSでは、以上のようなOSや環境の違いによらず、匿名アクセスを有効にする方法についてまとめておく。対象OSはWindows XPとWindows Server 2003である。ただしセキュリティには十分注意を払い、匿名アクセスを有効にした場合のリスクを承知の上で、利用していただきたい。
匿名アクセスを利用するには、まずローカルPC上のGuestアカウントを有効にする。[管理ツール]−[コンピュータの管理]ツールを起動して、[ローカル ユーザーとグループ]−[ユーザー]で[Guest]アカウントを選び、[プロパティ]メニューを表示させる。デフォルトでは[アカウントを無効にする]というチェックボックスがオンになっているので、これをオフにしてGuestアカウントを有効にする。さらにGuestアカウントの項目を右クリックし、ポップアップメニューから[パスワードの設定]を選んで、空のパスワードを入力、設定する。
以上の操作をコマンドプロンプト上で行うには、Net Userコマンドを利用するとよい。
C:\>net user guest /active:yes ……アカウントの有効化
コマンドは正常に終了しました。
C:\>net user guest * ……パスワードの設定
ユーザーのパスワードを入力してください: ……[Return]キーを押して空パスワードを設定
確認のためにパスワードを再入力してください: ……確認入力
コマンドは正常に終了しました。
次に、[管理ツール]の[ローカル セキュリティ ポリシー]を開くか、[ファイル名を指定して実行]で「gpedit.msc」を実行する。そして([コンピュータの構成]−[Windows の設定])−[セキュリティの設定]−[ローカル ポリシー]−[ユーザー権利の割り当て]ツリーを開く。右側のペインに[ネットワーク経由でコンピュータへのアクセスを拒否する]という項目があるので、この中に「Guestアカウントが含まれていないこと」を確認する。
この項目にユーザーやグループが含まれていると、そのアカウントでのファイル共有へのアクセスはすべて拒否される。そのすぐ上に「ネットワーク経由でコンピュータへアクセス」という項目があり、ここにはデフォルトで「Everyone」アカウントが含まれているが、[ネットワーク経由でコンピュータへのアクセスを拒否する]という項目に該当するアカウントがあれば、その設定が優先される。OSやService Packのバージョン、ネットワーク設定やエクスプローラの[簡易ファイルの共有]オプション、運用ポリシー、セキュリティ設定などにもよるが、ここに「Guest」というアカウントが登録されていることがある。その場合は匿名アクセスが拒否されるので、これを外しておく。リストからGuestアカウントを削除するには、上記の項目をダブルクリックし、リストから[Guest]を選んで[削除]ボタンをクリックする。
以上で設定は完了である。あとは、実際にフォルダの共有を設定し、アクセスしてみればよい(C$やD$といった管理共有はGuestアカウントでは権限不足でアクセスできないので、別の共有を作成すること)。共有フォルダを作成するには、[コンピュータの管理]ツールを使うか、エクスプローラでフォルダを選んで[プロパティ]ダイアログを表示させ、[共有]フォルダで設定する。コマンドプロンプト上でNet Shareコマンドを使ってもよい。
C:\>net share c=c:\ ……新規共有の作成
c が共有されました。
作成された共有フォルダへアクセスする場合、デフォルトではローカルログオンで使用したアカウントとパスワードで認証が行われる。それが成功すれば(ファイルサーバ側にそのようなアカウントが登録されていれば)、アクセスはそのユーザー権限で行われる。
しかし、そのアカウントが存在しない場合、次は匿名アクセスで接続しようとする。上記の設定が完了していれば、正しく匿名アクセスできるはずである。実際にどのアカウントで接続しているかは、サーバ側で[コンピュータの管理]ツールを起動し、[共有フォルダ]−[セッション]で確認できる。右端の[ゲスト]という欄が[はい]なら匿名アクセスである。
■関連リンク
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.