ここでは, パスワードを知っている特定のユーザやグループメンバ, また特定の ドメインや ホスト からのアクセスに対して情報公開を制限する方法を説明します.
public_html以下のディレクトリにあるすべてのファイルは, 世界中のユーザに対して制限なしに公開されます. しかし, CNS の外部からアクセスされては不都合なファイルなども存在します. この場合, 各ユーザは自分のディレクトリにパスワードを設定し, そのディレクトリ内の情報を閲覧しようとした場合に図4.1のような ダイアログボックスを表示し,特定のユーザに対してのみ情報のアクセスを許します. また,特定の ドメイン(sfc.keio.ac.jpなど)や ホスト(ccz00.sfc.keio.ac.jpなど) からのアクセスに対してのみファイルを公開できます.
CNS では次に示すアクセス制限を設定できます.
次に `/home/t00000tf/public_html/secret/' (http://web.sfc.keio.ac.jp/~t00000tf/secret/) というディレクトリの下にあるファイルを, パスワードを知っているユーザにのみアクセスを許可する方法を説明します.
AuthUserFile /home/t00000tf/etc/.htpasswd
AuthGroupFile /home/t00000tf/etc/.htgroup AuthName authorized_area AuthType Basic <LIMIT GET> require user taro require group friends </LIMIT> |
`AuthUserFile'には, 後ほどで作成するパスワード設定ファイルを 絶対パスで指定します. URLによるディレクトリの指定や 相対パス による指定はできないので注意してください. `require user'の後には, このディレクトリにアクセスを許可するユーザ名を指定します. ユーザ名は自由に名称を設定できます.
% mkdir /home/t00000tf/etc <ENTER> % _
以下に,パスワードを登録する例を示します.
% htpasswd -c /home/t00000tf/etc/.htpasswd taro <ENTER> Adding password for taro. New password:<パスワードを入力> <ENTER> Re-type New password:<パスワードを入力> <ENTER> % htpasswd /home/t00000tf/etc/.htpasswd hanako <ENTER> ... % htpasswd /home/t00000tf/etc/.htpasswd jiro <ENTER> ... % _
htpasswdコマンドを実行すると, 各ユーザのパスワードを入力する状態になります. 入力した内容は画面には表示されないので間違いの無いように入力してください. そのユーザに対するパスワードを入力します. 確認のため,2度入力を求められるので, 同じパスワードに入力すると, `/home/t00000tf/etc/.htpasswd' というファイルが新規に作成され, この中に各ユーザのパスワードが暗号化されて書き込まれます.
ドメイン名によってアクセス制限をするには, アクセス制限するディレクトリに`.htaccess'という 名前のファイルを図4.3のような内容で作成します. この例では,ドメイン`sfc.keio.ac.jp' (CNS に接続されたホスト) からのアクセスのみを許可するように設定しています.
<LIMIT GET>
order deny,allow deny from all allow from .sfc.keio.ac.jp </LIMIT> |
これで, そのディレクトリとそれ以下の階層のディレクトリは CNS 内のホストからしかアクセスできないようになります.
上の例はドメイン名によるアクセス制限ですが, ホスト名によるアクセス制限も行えます. アクセスを制限するディレクトリに, `.htaccess'という名前のファイルを図4.4のような内容で作成します.
<LIMIT GET>
order deny,allow deny from all allow from ccz00.sfc.keio.ac.jp </LIMIT> |
これで, CNS 内にある`ccz00.sfc.keio.ac.jp'というホスト名からのアクセスのみ許可されます.
パスワードによるアクセス制限と, ホスト名, ドメイン名によるアクセス制限との組み合わせも可能です.
その際は, 次のように`.htaccess'ファイルの, AuthUserfileの部分に,4.1.1 を参考にして, 適切なディレクトリ, ファイル名を指定します.
また,4.1.1から4.1.3 を参考に,次の設定を必要に応じて <LIMIT>と </LIMIT> の間に書き加えます.