0
でエラーなし(「pidを殺す」)PHPの幹部をブロック:、私はプロセスを一覧表示することができませんでしたSELinuxが、私は、プロセスのPIDを取得し、このコードでそれを殺すためにしようとしているログ
最初<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
$_script_path = "/path/to/scriptname.php";
$cmd_find_process = "ps aux | grep '[p]hp -f ".$_script_path."'";
echo $cmd_find_process.PHP_EOL;
echo exec($cmd_find_process);
echo PHP_EOL.PHP_EOL;
$cmd = "kill $(".$cmd_find_process." | awk '{print $2}')";
echo $cmd;
echo exec($cmd);
?>
私はのselinux-のhttpd-許可-PS-aux.te、カスタムのSELinuxモジュールをコンパイルすることにより固定:
policy_module(myhttpd,1.0.0)
gen_require(`
type httpd_t;
')
domain_read_all_domains_state(httpd_t);
私はとすでに無効になっdontaudit文ました:
semodule -DB
同じユーザーが以前に開始したプロセスはすべて終了できません。apache /var/log/audit/audit.logファイルにはエラーは記録されません。完全に理解するために
は、私が殺すためにしようとしているPHPスクリプトは、このコマンドで実行されます。
su -s /bin/sh apache -c php -f /path/to/scriptname.php
私はそれがSELinuxのことを知っている
echo 0 > /selinux/enforce
でSELinuxをオフにするようになりますので、それは働く。