匿名ファイルアクセスを許可する【Windows OS】:Tech TIPS
ファイル・サーバへアクセスする場合、通常は登録済みのアカウントやパスワードを指定する必要がある。だが匿名アクセス機能を利用すると、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である。ただしセキュリティには十分注意を払い、匿名アクセスを有効にした場合のリスクを承知の上で、利用していただきたい。
手順1――Guestアカウントの有効化と空パスワードの設定
匿名アクセスを利用するには、まずローカルPC上のGuestアカウントを有効にする。[管理ツール]−[コンピュータの管理]ツールを起動して、[ローカル ユーザーとグループ]−[ユーザー]で[Guest]アカウントを選び、[プロパティ]メニューを表示させる。デフォルトでは[アカウントを無効にする]というチェックボックスがオンになっているので、これをオフにしてGuestアカウントを有効にする。さらにGuestアカウントの項目を右クリックし、ポップアップメニューから[パスワードの設定]を選んで、空のパスワードを入力、設定する。
Guestアカウントのプロパティ
Guestアカウントはデフォルトでは無効になっているので、これを有効にする。
(1)Guestアカウント。
(2)これをオフにすると、Guestアカウントが有効になる(デフォルトではオン)。
以上の操作をコマンドプロンプト上で行うには、Net Userコマンドを利用するとよい。
C:\>net user guest /active:yes ……アカウントの有効化
コマンドは正常に終了しました。
C:\>net user guest * ……パスワードの設定
ユーザーのパスワードを入力してください: ……[Return]キーを押して空パスワードを設定
確認のためにパスワードを再入力してください: ……確認入力
コマンドは正常に終了しました。
手順2――セキュリティポリシーの設定と確認
次に、[管理ツール]の[ローカル セキュリティ ポリシー]を開くか、[ファイル名を指定して実行]で「gpedit.msc」を実行する。そして([コンピュータの構成]−[Windows の設定])−[セキュリティの設定]−[ローカル ポリシー]−[ユーザー権利の割り当て]ツリーを開く。右側のペインに[ネットワーク経由でコンピュータへのアクセスを拒否する]という項目があるので、この中に「Guestアカウントが含まれていないこと」を確認する。
ネットワーク経由でのアクセスする権利の確認
セキュリティの設定にあるユーザー権利の割り当てで、ネットワーク経由でアクセスできるアカウントを指定する。ネットワーク経由でのアクセスを禁止するアカウントにGuestが入っている場合は、それを外す。
(1)この項目の内容を確認する。
(2)ここにGuestアカウントが含まれている場合は、それを削除する。それ以外のアカウントは削除しないこと。
この項目にユーザーやグループが含まれていると、そのアカウントでのファイル共有へのアクセスはすべて拒否される。そのすぐ上に「ネットワーク経由でコンピュータへアクセス」という項目があり、ここにはデフォルトで「Everyone」アカウントが含まれているが、[ネットワーク経由でコンピュータへのアクセスを拒否する]という項目に該当するアカウントがあれば、その設定が優先される。OSやService Packのバージョン、ネットワーク設定やエクスプローラの[簡易ファイルの共有]オプション、運用ポリシー、セキュリティ設定などにもよるが、ここに「Guest」というアカウントが登録されていることがある。その場合は匿名アクセスが拒否されるので、これを外しておく。リストからGuestアカウントを削除するには、上記の項目をダブルクリックし、リストから[Guest]を選んで[削除]ボタンをクリックする。
Guestアカウントによる接続の確認
以上で設定は完了である。あとは、実際にフォルダの共有を設定し、アクセスしてみればよい(C$やD$といった管理共有はGuestアカウントでは権限不足でアクセスできないので、別の共有を作成すること)。共有フォルダを作成するには、[コンピュータの管理]ツールを使うか、エクスプローラでフォルダを選んで[プロパティ]ダイアログを表示させ、[共有]フォルダで設定する。コマンドプロンプト上でNet Shareコマンドを使ってもよい。
C:\>net share c=c:\ ……新規共有の作成
c が共有されました。
作成された共有フォルダへアクセスする場合、デフォルトではローカルログオンで使用したアカウントとパスワードで認証が行われる。それが成功すれば(ファイルサーバ側にそのようなアカウントが登録されていれば)、アクセスはそのユーザー権限で行われる。
しかし、そのアカウントが存在しない場合、次は匿名アクセスで接続しようとする。上記の設定が完了していれば、正しく匿名アクセスできるはずである。実際にどのアカウントで接続しているかは、サーバ側で[コンピュータの管理]ツールを起動し、[共有フォルダ]−[セッション]で確認できる。右端の[ゲスト]という欄が[はい]なら匿名アクセスである。
匿名ファイルアクセス時の共有管理ツール
管理ツールの[共有フォルダ]−[セッション]を利用すると、現在ファイルサーバに接続しているセッションの情報を調査できる。[ゲスト]欄が[はい]となっていれば、匿名アクセスで接続していることになる。これに対して通常の接続ではこの欄は[いいえ]となっており、指定されたユーザーアカウントで接続し、その権限でリソースを利用している。
(1)接続元PCでのログオン名。
(2)接続元PCの名前(IPアドレス)。
(3)匿名アクセスかどうかを表す。[はい]となっていれば、左側のユーザー名にかかわらず、匿名ユーザー(Guest)として接続し、ファイルサーバのリソースを利用している。
■関連リンク
- マイクロソフト セキュリティ アドバイザリ (906574) ―― 簡易ファイルの共有および ForceGuest についての説明(マイクロソフトTechNet セキュリティ)
- ワークグループにインストールされているWin XP Proでセキュリティを設定する方法(マイクロソフト サポート技術情報)
■この記事と関連性の高い別の記事
- ドメインにログオンしていないクライアントから共有資源にアクセスする(TIPS)
- 共有ファイルを現在使用しているユーザーを特定する方法(TIPS)
- アカウントを指定してIPC$共有リソースへ接続する(TIPS)
- 共有リソースアクセス時にパスワード入力を求められる「IPC$」とは?(TIPS)
- デフォルト共有(管理共有)を停止させる方法(TIPS)
- レガシーWindowsからはアクセスできない共有リソースを作成する(TIPS)
- Windows 7で安全なGuestアカウントを作る(TIPS)
- 簡易ファイルの共有機能を利用する(TIPS)
- Windows XPにネットワーク接続できない(TIPS)
- 有効なファイルアクセス権を調査する(TIPS)
- コマンドプロンプトでファイル共有を管理する(TIPS)
Copyright© Digital Advantage Corp. All Rights Reserved.