Debian StretchのPHPとsuexec

Debian StretchのPHPとsuexec

欲しい訴訟実行プログラムDebian Stretch(Apache 2.4.25)でPHPを使用する。

Debianパッケージの基本モジュールセットcgidphp7.0

これはVirtualHostテストシステムで使用されたブロックです。

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        ScriptAlias /cgi-bin/ /var/www/cgi-bin/
        <Directory "/var/www/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Require all granted
        </Directory>
        SuexecUserGroup testuser testuser
</VirtualHost>

/var/www/cgi-binこれはプロセスのUIDを印刷する単純なPerlスクリプトでうまく機能します。1000suexecが正しく機能していることを確認するためにスクリプトが印刷されます。私も予想される行を得ますsuexec.log

[2017-07-28 11:54:27]: uid: (1000/testuser) gid: (1000/testuser) cmd: moo.cgi

しかし、同様のPHPスクリプトを使用すると、suexecスクリプトは呼び出されず、スクリプトはApacheユーザーとして実行されます。

suexecをPHPスクリプトで使用するにはどうすればよいですか?

答え1

PHPページを処理するには、php7.0モジュールを有効にしてください。無効にしてインストールしてくださいPHP-CGI次のようにアクティブにします。

AddHandler cgi-handler .php
Action cgi-handler /usr/bin/php-cgi7.0

関連情報