Kenji Arisawa
E-mail: arisawa@aichi-u.ac.jp
Aichi University
Kurozasa 370, Miyoshi-cho
Aichi, Japan
2002/02/01

Powered by Pegasus
IP に基づくアクセス制限
名称
allow
配置
/etc/allow
説明
allow はクライアントからのドキュメントへのアクセスをクライアントの
IP アドレスで制御します。
このファイルはサービス空間の中での
/etc
に置く必要があります。
ユーザあるいは仮想ホストが与えられた Web ルートの下の etc が
サービス空間の中で /etc となります。
以下に記述例を挙げます。
#
# This file restricts access by IP
# The restriction is effective to all subtrees.
#
# We can use shell style wild card.
# Pegasus extention:
# a symbol `~' at the beginning means negation
# se, we don't need deny file
#
/test/authtest/private/room1
*.*.*.*[13579]
/test/authtest/private/room2
~*.*.*.*[13579]
/test/authtest/private/room1/more1
*.*.*[0-4].*
/test/authtest/private/room1/more2
*.*.*[5-9].*
/test/authtest/private/room2/more1
*.*.*[0-4].*
/test/authtest/private/room2/more2
*.*.*[5-9].*
allow の中はパスパターンと IP アドレスパターンの集まりです。
パスパターンは最初のカラム位置から書き、絶対パスを使用します。
アクセス要求があったパスはこのパスパターンと比較されます。
マッチする時の規則に関してはパス名適合規則を参照して下さい。
マッチするパターンが存在しなければ、そのパスへの要求は許可されます。
存在した時には、マッチする全てのパターンについて IP アドレスがマッチして
いないとそのパスへの要求は許可されません。
(従ってディレクトリの奥へ行く程アクセス制限はきつくなります。)
例えば
/test/authtest/private/room1/more1
のファイルにアクセスするためにはクライアントの IP アドレスは
*.*.*[0-4].*
たけではなく
*.*.*.*[13579]
をも満足しなくてはなりません。
IP アドレスのパターンではシェルスタイルのワイルドカードが使用できます。
Pegasus では先頭の ~ に対して否定の意味を持たせました。
これによって allow ファイルによって特定の IP アドレスの集まりを拒否でき
ることになります。(どこかのサーバのように deny ファイルをさらに管理する
必要はなくなります。)
検査は URI 変換が終了してから行われます。
従ってパターンと比較するパスは、ファイル名で終ります。