2013年3月9日土曜日

[Apache]CGI をユーザーディレクトリで実行可能にする (未完了)

  1. httpd.conf 編集
    # user directory cgi
    ScriptAlias /~[ユーザー名]/cgi-bin/ "/home/[ユーザー名]/public_html/cgi-bin/"
    <Directory "/home/[ユーザー名]/public_html/cgi-bin">
    AllowOverride None
    # Options None
    Options ExecCGI
    Order allow,deny
    Allow from all
    </Directory>
  2. Apache 再起動
  3. public_html/cgi-bin にスクリプトを置く
  4. テスト
    Internal Server Error が発生する場合は、一旦 SELinux を無効にしてテストしてみる
    # setenfore 0
    これで成功する場合は SELinux の設定を変更する必要あり
  5. audit.log 確認
    /var/log/audit/audit.log を確認すると SELinux がブロックしたことが分かる
    type=AVC msg=audit(1288998630.696:106): avc: denied { execute } for pid=16405 comm="httpd" name="test00.cgi" dev=dm-2 ino=265416 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_user_content_t:s0 tclass=file
    SELinux を有効にしたままユーザーディレクトリの cgi を実行する方法は調査中

0 件のコメント:

コメントを投稿