WWW/WWWサーバによる情報公開 - 応用編/情報へのアクセス制限
ここでは,パスワードを知っている特定のユーザやグループメンバ,また特定のドメインやホストからのアクセスに対してのみ情報を公開する方法を説明します. 基本的に,public_html以下のディレクトリにあるすべてのファイルは,世界中のユーザに対して制限なしに公開されます.しかし,CNS の外部からアクセスされては不都合なファイルなども存在します.このような場合,各ユーザはディレクトリにパスワードを設定し,そのパスワードを知っているユーザに対してのみ(図4.1),または,特定のドメイン(CNS など)やホスト(ccz00.sfc.keio.ac.jpなど)からのアクセスに対してのみファイルを公開できます.CNS では次に示すアクセス制限を設定できます.
ページにアクセス制限の設定をしても,CNS
のユーザであれば直接ファイルの内容を見ることができてしまいます.この機能は主にCNS
の外部からのブラウザによるアクセスを制限する必要が生じた際に利用するものです.
4.1.1 パスワードを知っているユーザにのみアクセスを許可する`/home/t01000tf/public_html/Secret'というディレクトリの下にあるファイルを,パスワードを知っているユーザにのみアクセスを許可する方法を説明します.
% mkdir /home/t01000tf/etc<RET> % touch /home/t01000tf/etc/.htpasswd<RET> % _
.htpasswdは,public_html以外の場所に作成してく
ださい.
% htpasswd -c /home/t01000tf/etc/.htpasswd taro<RET>
% _ htpasswdコマンドを実行すると, taroというユーザのパスワードを入力する状態になります. ここで,そのユーザに対するパスワードを入力します.2度求められるので,同じように入力すると,/home/t01000tf/etc/.htpasswdというファイルが新規に作成され,この中にパスワードが暗号化されて書き込まれます.
これでパスワードが設定されます.WWWブラウザでこのディレクトリ以下,つまり`http://www.sfc.keio.ac.jp/
4.1.2 パスワードを知っているグループメンバにのみアクセスを許可する`/home/t01000tf/public_html/groupwork'というディレクトリの下にあるファイルを,パスワードを知っているグループメンバにのみアクセスを許可する方法を説明します.
% mkdir /home/t01000tf/etc<RET>
% _
.htpasswdや.htgroupは,public_html
以外の場所に作成してください.
% htpasswd -c /home/t01000tf/etc/.htpasswd taro<RET> % htpasswd /home/t01000tf/etc/.htpasswd hanako<RET> % htpasswd /home/t01000tf/etc/.htpasswd jiro<RET> % _ htpasswdコマンドを実行すると,各ユーザのパスワードを入力する状態になります. ここで,そのユーザに対するパスワードを入力する.2度求められるので,同じように入力すると,/home/t01000tf/etc/.htpasswdというファイルが新規に作成され,この中に各パスワードが暗号化されて書き込まれます.
.htpasswdを新規に作成するときにはhtpasswdコマンドに -cオプションをつけますが,以後,同じパスワード設定ファイルに対してパスワードを設定する場合は -cオプションをつけないで実行してください.
friends: taro hanako jiro これでパスワードが設定され,グループ単位でアクセスを許可できるようになります. 4.1.3 CNS からのアクセスのみの許可ドメイン名によってアクセス制限をするには,アクセス制限するディレクトリに.htaccessという名前のファイルを図4.4のような内容で作成します.この例では,ドメイン`sfc.keio.ac.jp' (CNS 全体)からのアクセスのみを許可するように設定しています.
4.1.4 特定ホストからのアクセスのみの許可上の例はドメイン名によるアクセス制限ですが,ホスト名によるアクセス制限も行えます.アクセスを制限するディレクトリに,.htaccess という名前のファイルを図4.5のような内容で作成します.
これで,CNS 内にあるccz00.sfc.keio.ac.jpという名前のホストからのアクセスのみ許可されます.
Proxyサーバ
を経由してアクセスする場合には,ブラウザが動作しているホスト名ではなく, Proxyサーバとして設定されているホスト名を指定してください.
4.1.5 パスワードとホスト名,ドメイン名を組み合わせたアクセスの制限パスワードによるアクセス制限と,ホスト名,ドメイン名によるアクセス制限との組み合わせも可能です. その際は,次のように`.htaccess'ファイル の,Userfile,Groupfileの部分に,4.1.1 や4.1.2を参考にして,適切なディレクトリ,ファイル名を指定します.
AuthUserFile Userfile AuthGroupFile Groupfile また,4.1.1から4.1.4 を参考に,次の設定を必要に応じて<LIMIT> と</LIMIT>の間に書き加えます.
require group UserGroupName require user UserName allow from DomainName allow from HostName
|