RHEL5 설치시 Apache 서버에서 실행되는 PHP 스크립트가 있습니다. 이 스크립트는 "rpm -q --info packagename"에 exec를 실행합니다.query rpm from apache + php with selinux
그것은 허용 모드에서는 selinux와 제대로 작동하지만, 완전히 활성화 된 것은 아닙니다. 그래서 나는 그것이 selinux 문제라고 생각한다.
나는 audit2allow를 사용하여 발견 한 거부 된 항목을 기반으로 규칙을 만들었지 만 이제는 감사 로그에서 더 이상 거부되지 않지만 selinux가 활성화 된 상태에서는 실행되지 않습니다.
내 세계에서 그것은 실행이 허용 될 경우 시스템에 쿼리하는 것으로 보이며 selinux가 "이것을 시도하면 멈추게 할 것"이라고 말합니다. 따라서 시스템은 exec를 실행하지 않습니다. 만약 그렇다면, 나는 "거부"를 기반으로 새로운 selinux 규칙을 만들 수 있다고 생각합니다. selinux가 허용되면 어떤 것도 거부 당하지는 않지만 작동합니다.
그래서 저는 이것을 어려운 방법으로 처리하고 selinux에 대한 사용자 정의 규칙을 작성해야합니다. 말했다 내가 하나 만든 일이 내 문제 만 가정하여 내 SELinux를 사용 엉망으로 아무것도하지 않았다하지만 회로
module php_rpm 1.0;
require {
type httpd_t;
type bin_t;
type rpm_exec_t;
type rpm_var_lib_t;
class file { execute execute_no_trans getattr read execmod };
class dir { getattr search };
}
#============= httpd_t ==============
allow httpd_t rpm_exec_t:file { execute execute_no_trans getattr read execmod };
allow httpd_t rpm_var_lib_t:dir { getattr search };
조금 규칙 : P
사람이 거기에 SELinux를 함께 PHP에서 RPM을 실행하려고 시도하였습니다을하고 그걸로 도망 갔어?