iPlanet Web Server 資料一覧
ユーザ認証に.htaccessを使用する方法
2007/7/29更新
対応バージョン: 4.1
以下の手順で設定する。
iWS付属の専用モジュールhtaccess.soのロード設定
/usr/netscape/server4/<サーバ>/config/obj.confに以下の内容を追加してiWSを再起動。
他のInitディレクティブの最後
Init fn="load-modules" funcs="htaccess-init,htaccess-find" \ shlib="/usr/netscape/server4/plugins/htaccess/bin/htaccess.so" Init fn="htaccess-init"
<Object name="default">ディレクティブ内のPathCheck定義の最後
PathCheck fn="htaccess-find"
特定のURLに対してLDAPのユーザ認証を利用していた場合はその設定を削除
/usr/netscape/server4/<サーバ>/conf_bk/<サーバ>.acl.?内の以下の記述を削除してiWSを再起動。
acl "path=/path/to/go/some.cgi"; authenticate (user,group) { database = "default"; method = "basic"; };
iWSのユーザ認証用ファイルを作成するスクリプトを作成
処理内容は/etc/shadowからアカウント名とパスワードを取り出しiWSのユーザ認証用ファイル(/usr/netscape/server4/.htpasswd)を作成するという簡単なもの。
尚、以下のアカウントは対象外とする。
root(セキュリティ上の問題)
パスワードフィールドに`NP'が設定されているもの(元々ログイン不可)
パスワードフィールドが`*'で始まっているもの(元々ログイン不可)
#!/bin/sh -p HTPASSWD=/usr/netscape/server4/.htpasswd awk -F':' '$1 != "root" && $2 != "NP" && $2 !~ /\*/ {printf("%s:%s\n",$1,$2)}' \ /etc/shadow > ${HTPASSWD} chmod 644 ${HTPASSWD}
認証させたいURL(ディレクトリ)配下に以下の内容で.htaccessを作成
AuthType Basic AuthUserFile /usr/netscape/server4/.htpasswd AuthGroupFile /dev/null <Limit GET POST> order deny,allow deny from all allow from all require valid-user </Limit>