(98/10/19)
WWWサーバ側の設定を変更し、 従来より簡単に医学部内向けページ (ファイアウォールの外からはアクセスできない) を作ることができるようになりました。
ユーザの皆さんがとくに何も設定しなくても、 http://www.med.teikyo-u.ac.jp/‾username/med/ というディレクトリの下は自動的に医学部内向けページになっています。 とりあえず簡単に医学部内向けのページを作りたい方は、 御自分のディレクトリの下に med というディレクトリを作って、 その下にファイルを置いてみてください。
なお、もし他のディレクトリを医学部内向けにしたい場合には、 次項以降に示すような従来通りの方法をとって下さい。
注意: ここで「医学部内向け」といっているのは、ネットワーク上での話ですので、 実際には相手のパソコンは医学部の建物内の他の部署の管轄にあったり、 あるいは、 実際にパソコンを使っている人間は医学部の人間ではないかもしれません。
アクセス制御を行なうには、制御したい対象のディレクトリに .htaccess というテキストファイルを作ります。 その中身の書き方は以下で説明します。
<Limit GET> order deny,allow deny from all allow from 202.253.108/22 allow from 192.168 allow from u-tokyo.ac.jp </Limit>(<Limit ...>と</Limit>はなくても構いません)
orderは、allowとdeny の適用される順番を表し、後ろの方が優先されます。 たとえば、allowとdenyの指定が
allow from A allow from B deny from B deny from Cとなっているとすると、
allow from にはアクセスを許可するホスト/ドメイン名を指定します。
例:
医学部の中からのみ閲覧でき、外部からは見られないようにするには、 以下のような設定を .htaccess に書いておきます。
order deny,allow deny from all allow from 192.168
注意:
研コンのアドレスを指定する時には、
アルファベットによるドメイン名ではなく、
数字による IPアドレスで指定するようにしてください。
ドメイン名ではうまくいかない場合があります。
この設定をした例が http://www.med.teikyo-u.ac.jp/‾morikawa/howto/limited/ になっています。
基本的にどこからでも見ることができるが、 ある会社(evil.co.jp)とある大学研究室(lab.daigaku.ac.jp) からは見ることができないようにするには、 以下のような設定を .htaccess に書いておきます。
order allow,deny allow from all deny from evil.co.jp deny from lab.daigaku.ac.jpこのように、複数指定したい時は複数行に分けて書きます。
医学部内向けのページを作りたいという要望は多いのですが、 具体的な設定についてよくわからないという方が多いようです。 ここではその方法を少し実際的に説明します。
以下に .htaccessファイルの中身の例と、 それを実際に書いてあるテキストファイル(ファイル名は別にしてあります) のある場所(パス名)とリンクを示します。
order deny,allow deny from all allow from 192.168
(テキストファイル: /home/kenkon/html/htaccess.fw1 )
このファイルを、ファイル名を.htaccessに変えて アクセス制御したいディレクトリへコピーして下さい。
ただし、すでに.htaccessがある場合には、 上書きせずに中身を書き換えて追加するようにして下さい。
コピー(書き換え)をする具体的な方法としては
以前 202.253. で始まるアドレスを allow に指定する例を御紹介していまし たが、昨年度末に DeleGate による中継を始めた関係で、 この設定を生かしておくと外部のホストからもアクセスできてしまいます ので、御面倒ですが修正をお願い致します。
具体的には
allow from 202.253.108.0/22などといったような行を削除していただくようお願い致します。 修正後の .htaccess については、上述の例を参考になさってください。 (この修正によりファイアウォール外部の医学部ホストからアクセスできなく なりますが、ほとんどが管理用のホストですので、さしたる影響はないと思わ れます)
allow from 202.253.108/22
allow from 202.253.111
誠にお手数ですが、よろしくお願い致します。
パスワードによる制限を行なうには、 パスワードファイルの作成と設定ファイルの書き換えの二つが必要です。 グループファイルもパスワードファイルと一緒に作ると便利です。
以下では morikawaというユーザが作業を行なう場合を例を 示しています。実際には各々のユーザ名を使って下さい。
パスワードファイルにはユーザ名とパスワードの組が収められます。 WWW を通じて外部から見られてはよくないので、 ‾/html 以外のディレクトリに作りましょう。 以下の例では ‾/WWW に作ることにします。
最後のchmodは他のユーザが、 WWWではなくローカルのマシン上で、 ディレクトリを見ることができないようにするものです (httpdサーバのグループは nogroup です)。 ただし気休め程度ですので、「(とくに内部にアカウントをもつ ユーザに対しては)それほどしっかり守られているわけではない」 ということを認識しておいて下さい。
cd ‾/WWW
/home/WWW/httpd/support/htpasswd -c newpass taro
するとパスワードを何とするか尋ねてくるので、入力します。 2回入力する必要があります。
以上でパスワードファイルの作成は終了です。
同じパスワードファイルに別のユーザを追加する時には、
上のhtpasswdコマンドの-cオプションをなくして、
/home/WWW/httpd/support/htpasswd newpass hanako
などとします。うっかり-c
をつけるとそれまでのユーザを消して新しく作ってしまうので、
注意して下さい。
グループファイルは純粋にテキストファイルなので、 適当なエディタを使って作成して下さい。 パスワードファイルと同じディレクトリに作ると良いでしょう。 ファイル名は何でも構いません(以下ではnewgroupとします)。
中身は
yamada: taro hanako zoo: lion gorrila monkeyなどとします。yamadaやzooがグループ名、 後ろのtaro、lion などはパスワードファイルに登録したユーザ名です。
AuthType Basic (ここはこのとおり書くこと) AuthName "Yamada's Room Entrance" (相手側で表示される。何でもよい) AuthUserFile /home/morikawa/WWW/newpass require valid-userAuthNameは何を指定してもいいですが、 全角文字(日本語)や変な記号は避けましょう。
AuthUserには作成したパスワードファイルへの フルパスを指定します。
上の例の require valid-userはパスワードファイル(この場合 newpass)に書かれているすべてのユーザに許可を許すことを 意味していますが、もしパスワードファイルに書かれたユーザの中の さらに一部に限定したい場合には、 以下のようにユーザ名を列挙することもできます。
require user taro hanako
グループを利用するなら、次のように書きます。
AuthType Basic AuthName "Yamada's Room Entrance" AuthUserFile /home/morikawa/WWW/newpass AuthGroupFile /home/morikawa/WWW/newgroup require group yamada require group zooAuthGroupFileもフルパスで指定します。
http://www.med.teikyo-u.ac.jp/‾morikawa/howto/limited2/ がユーザとパスワードによる制御を行なっている例です。
ユーザ名: staff、 パスワード: kenkon でアクセスできます。
WWWページのアクセス制御 / 研コン室 / 月曜相談員 森川