« Cobalt-Logのrotateについて | メイン | Cobalt-RaQ4のリストア »

2005年7月20日

Cobalt-.htaccessによるパスワード制限

Cobalt(RaQ3,RaQ4,RaQ550)でパスワード認証の付いたページを作りたいと思った場合、手っ取り早く行うときには保護したい Web ディレクトリ以下に、.htaccess という名前で(ファイル名先頭の . (ドット) を忘れずに)下記のような内容のファイルを作ればOK。このサーバに登録されたユーザのうち、require で指定されたユーザ名だけが、このページを見ることが出来るようになる。この時のパスワードは、このサーバのパスワードと同じものになる。

AuthName "Limited page for member."
AuthType Basic

require user sample

(上記の例なら「sample」というユーザーがログインできる)

ただ上記例であれば、サーバーに登録されていないユーザーはログインできない。
登録ユーザ以外の人に、ユーザ名とパスワードで限定されたページを提供したい場合は、.htaccess の名前を下記のよう変更。
(※1 AuthPAM_Enabled offに注意。RaQ550 ではこの行は不要。)
(※2 AuthUserFileのパスは/home/sites/homeとか/home/sites/site1とかより/home/sites/www.hogehoge.comというようにサイト名で書く方がよい)

AuthUserFile /home/sites/home/users/foo/password1.dat
AuthGroupFile /dev/null
AuthName "Limited page for member."
AuthType Basic
AuthPAM_Enabled off

require user sample

AuthUserFile に指定されたファイルには、限定するユーザ名とパスワードの列を登録する。
ここに登録されたユーザ名とパスワードの組み合わせを知っている人だけが、アクセス出来るようになる。
例えば上の例だと、passwrod1.dat ファイルの中身は、

sample:PfyJ0.mjA.LQI
Yasu:bSm6OpAYUIIao

というようになっている。(試しにユーザが二つ登録されている。そのうち上の例の .htaccess では sample ユーザだけがアクセス可能になる。)

もし、上記例で passwrod1.dat ファイルに登録しているユーザーすべてをログインさせたい場合は


require user sample


require valid-user

という具合にrequireの記述を変更すればOK。

このファイルを作るツールはいろいろあり、Googleなどで「htpasswd」と検索してやれば何件かヒットするはず。
たとえば

http://www1.neweb.ne.jp/user_manual/htaccess/htpasswd.html

http://www.futomi.com/lecture/htaccess/htpasswd.html

http://www.rescue.ne.jp/cgi/htpasswd/

が有名どころである。

あと少し高度だが、とりあえず Cobalt に telnet login できる人なら、htpasswd コマンドがある。

最初に password1.dat という名前のパスワードファイルを、sample という名前のユーザだけで作成する場合は、

% htpasswd -c password1.dat sample

などとする。既にパスワードファイルに登録されているユーザのパスワードを変える場合、または既存のファイルにユーザを追加する場合は、-c オプションを抜いて、

% htpasswd password1.dat sample

のようにする。

※1 RaQ550 ではデフォルトでは PAM 認証モジュールが入っていないため、 AuthPAM_Enabled on/off の記述があるとエラーが出る。(httpd.confでコメントアウトされている)

※2 サーバーが壊れリストアしたときに必ず同じsite番号で登録されるとは限らないため・・・

投稿者 AJ : 2005年7月20日 15:19

トラックバック

このエントリーのトラックバックURL:
http://www.factory-aj.com/cgi/mtctrl/mt-tb.cgi/5

 
Powered by Movable Type 4.27-ja | RSS1.0 | RSS2.0 | ATOM