apache の認証を unix passwd で行う
- 「Web からパスワードを変更するツール」を作りたい
- そのためには本人認証が必要だ
- CGI の中で認証することもできる
- telnet をつかう → 簡単だが面倒
- pam をつかう → pwauth コマンドがあれば余裕?
- コマンドライン版を作成したときに,自前で認証しないといけない → 面倒
- パスワードを入力させるときは非表示にしないといけない
- コマンドライン版の認証は,login に任せたい
- よって CGI 内部認証は却下
- apache での認証
- mod_auth_pam, mod_auth_shadow
- apache が /etc/shadow を読めるようにする必要がある
- セキュリティ的によろしくない
- mod_auth_external
- pwauth コマンドを利用して,可能
- http://bitarts.jp/tech/linux/mod_auth_external.html
- mod_auth_external.so は apache-common にあるが,pwauth はない
- mod_auth_pam, mod_auth_shadow
解決策
- pwauth コマンド (setuid) を作成する
- mod_auth_external に含まれる pwauth コマンドのみ作成して /usr/lib/apache にインストール
- http://www.unixpapa.com/mod_auth_external.html
- apache での認証は mod_auth_external を利用して認証
