« 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