.www_acl - WWWサーバアクセス制限


.www_acl は CERN httpd サーバーで使用できるアクセス制限設定ファイルです。 2003 年 10 月から WWW サーバのシステムが変わり、CERN サーバーではなく Apache サーバーになっていますから、もはやこの説明は過去のものとなりました。

例えば ~/public_html/local というディレクトリに .www_acl ファイルを作り、

all.html : GET, POST : AnyBody
u-aizu.html : GET,PUT : UniversityInternal
ip.html : GET : @163.143.1.1
                 flood@163.143.*.*

のような内容にしたとします。
このファイルの行は、コロンで区切られた3つのフィールドから成り立っています。
第一フィールドは、アクセスを許すドキュメントの名前です。ここには、ワイルドカード * が1つだけ利用できます。(*aizu* のようにはできない。)
第二フィールドは、アクセスを許す http メソッドが、コンマで区切られて記述されます。
第三フィールドには、アクセスを許すユーザないしグループのリストが記述されます。

all.html に対しては誰でも Get,POST できるという意味になります。
u-aizu.html に対しては会津大学内からのみ GET,PUT できるという意味になります。UniversityInternal というグループはサーバーのほうで設定してあるのでしょう。
ip.html に対しては、まず IP アドレス 163.143.1.1 のホストからアクセスした人は GET できます。また、IP アドレス 163.143.*.* のホストからアクセスした人には,ユーザ名の問い合わせが行われ、ユーザ名の問い合わせに対して,flood と答え,floodパスワードを正しく回答した人には,ファイルを見せます。このパスワードなどはおそらく CERN サーバー固有のものなのできっと学生は使えないでしょう。
他の指定されていないファイルに対してはなにもできなくなります。

「他のファイルは AnyBody」のように指定することはできません。

* : GET : AnyBody

と追加してしまうと、制限したファイルもすべて誰でも GET できるようになってしまいます。 1つずつ書くしかないようです。

all.html : GET : AnyBody
* : GET : UniversalInternal

のように * が制限の厳しいほうならば問題はありません。

よく使う例です。

* : GET : UniversityInternal

と書けばそのディレクトリ内のファイルは会津大学内部からしかアクセスできないようになります。

また、www.u-aizu.ac.jp の80 番ポートが CERN サーバー、 8080 番ポートが学内からしかアクセスできない Apache サーバーとなっているので、 空の .www_acl ファイルを作り、8080 番ポートにアクセスすることでそのディレクトリ内のファイルをローカルなファイルにするという方法もあります。

上にも書いたように 2003 年 10 月から WWW サーバのシステムが変わるのでもはや使うことがなくなるでしょう。

設定がうまくいったかどうかの確認には プロキシ を使うといいでしょう。 CyberSyndrome のページが役に立つと思います。


xrea