Apache/UnixPasswordAuth

apache の認証を unix passwd で行う

  • 「Web からパスワードを変更するツール」を作りたい
  • そのためには本人認証が必要だ
  • CGI の中で認証することもできる
    • telnet をつかう → 簡単だが面倒
    • pam をつかう → pwauth コマンドがあれば余裕?
    • コマンドライン版を作成したときに,自前で認証しないといけない → 面倒
      • パスワードを入力させるときは非表示にしないといけない
    • コマンドライン版の認証は,login に任せたい
    • よって CGI 内部認証は却下
  • apache での認証
    • mod_auth_pam, mod_auth_shadow
      • apache が /etc/shadow を読めるようにする必要がある
      • セキュリティ的によろしくない
    • mod_auth_external

解決策

  • pwauth コマンド (setuid) を作成する
  • apache での認証は mod_auth_external を利用して認証

方法