Apacheのインストールと設定のページへ戻る
[ 前のページへ ] [ 次のページへ ]

6.アクセス制限

ホームページのアクセス制御については以下の方法で行なう。

まず、サーバ側の設定では、アクセス制御するディレクトリに対して、以下のようにする。

  <Directory 許可するディレクトリ名>
  Options SymLinksIfOwnerMatch Indexes 
  AllowOverride AuthConfig Limit
  </Directory>

○個人の設定について(1):ユーザ認証方式

制御をかけたいディレクトリに、 .htaccess ファイルをおく。 例えば、


$ vi /home/hogehoge/public_html/.htaccess

  AuthType Basic
  AuthName The-T-Directory  ← passwd を打つ window につける名前
                              (ただし、スペースを入れてはいけない)
  AuthUserFile /home/hogehoge/.users ← user 名と passwd を入れる file
  <Limit GET POST> 
  require user hoge foo  アクセスを許可するユーザ名。
  </Limit>

こうしておくと、例えば

  http://red.ep.sci.hokudai.ac.jp/~hogehoge/index.html 

にアクセスした時にユーザ名とパスワードを聞いてくる。ところで、ユーザ名とパスワードを管理するファイルはどうやってつくるか?

とりあえず最初は、


$ /usr/bin/htpasswd  -c /home/hogehoge/.users foo

とすればOK。 ユーザを追加する時には -c オプションを外して


$ /usr/bin/htpasswd /home/hogehoge/.usrs hoge

とかすればよい。この時パスワードフィールドには crypt 形式で 暗号化されたものが書かれるが、crack の餌食になることも 考えられるので Web 経由のユーザーがパスワードファイルにアクセス できないようにしておくべきである。

○個人の設定について(2):サーバ毎のアクセス制御

こーする。


$ vi /home/heogehoge/public_html/.htaccess

  AuthType Basic
  AuthName The-T-Directory
  AuthUserFile /home/hogehoge/.users
  <Limit GET POST>
  order deny,allow
  deny from all
  allow from xxx.xx.xx.xx  ← 許可したいIPアドレス
  </Limit>

こーすると xxx.xx.xx.xx から以外のアクセスを弾いた上にユーザ名と パスワードを聞いてくる。

◯個人の設定について(3):グループで指定

今までのように、.htaccessファイルを作る。


$ vi /home/yokoyama/public_html/.htaccess

として、適当なエディターで編集する。

  AuthUserFile /home/hogehoge/.testuser
  AuthGroupFile /home/hogehoge/.testgrp
  <Limit GET POST>
  require group testgrp
  </Limit>

次に、グループファイルを作る。


$ /home/yokoyama/.testgrp

とし、グループに登録するユーザ名を入力する。

  testgrp: hogehoge hogehoge2 ←ユーザ名とユーザ名の間はスペースを入れる

そして、「個人の設定について(1):ユーザー認証方式」のようにグループに登録されたユーザとパスワードのファイルを作成する。

このページのトップへ
作成
1999/5/5
最終更新
1999/9/23
横山誠、倉持康宏、高山歌織