FastCGIとsuexecユーザ

SNI対応に備えてPHPの同居調査をしていますが、納得いかないところでつまずいています。

VirtualHost を SuexecUserGroup 指定で実行しているのですが、SetHandler cgi-script では正しく動くのに SetHandler fcgid-script では動かない。

エラーメッセージはログに出力されているのでそのメッセージを頼りに apache の suexec ソース suexec.c 追いかけて、場所はわかっています。

    if (strspn(target_uname, "1234567890") != strlen(target_uname)) {
        if ((pw = getpwnam(target_uname)) == NULL) {
            log_err("invalid target user name: (%s)\n", target_uname);
            exit(105);
        }
    }
    else {
        if ((pw = getpwuid(atoi(target_uname))) == NULL) {
            log_err("invalid target user id: (%s)\n", target_uname);
            exit(121);
        }
    }

この部分で cgi-script 指定の場合は、通過するけど fcgid-script 指定の場合は invalid target user name: (%s) とでて、しかも %s は uid が表示されています。

謎だ。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG