PHP 웹 페이지의 실행되지 않 unix 명령한 후에도 루 업데이트

StackOverflow https://stackoverflow.com/questions/113728

  •  02-07-2019
  •  | 
  •  

문제

기본적으로 나 노력하고 다시 시작에서 서비스 php 웹 페이지입니다.

는 코드는 다음과 같습니다:

<?php
exec ('/usr/bin/sudo /etc/init.d/portmap restart');
?>

하지만, /var/log/httpd/error_log, 나옵

할 수 없을 변경하는 루 gid:작업에 허용되지 않습

고서/var/log/messages,나

Sep22 15:01:56ri 커널:감사(1222063316.536:777):avc:거부{getattr}에 대한 pid=4851comm="sh"name="var"dev=dm-0ino=114241scontext=루트:system_r:httpd_sys_script_t tcontext=system_u:object_r:var_t tclass=dir
Sep22 15:01:56ri 커널:감사(1222063316.549:778):avc:거부{setrlimit}에 대한 pid=4851comm="sudo"scontext=루트:system_r:httpd_sys_script_t tcontext=루트:system_r:httpd_sys_script_t tclass=과정
Sep22 15:01:56ri 커널:감사(1222063316.565:779):avc:거부{읽}에 대한 pid=4851comm="sudo"name="shadow"dev=dm-0ino=379669scontext=루트:system_r:httpd_sys_script_t tcontext=system_u:object_r:shadow_t tclass=file
Sep22 15:01:56ri 커널:감사(1222063316.568:780):avc:거부{읽}에 대한 pid=4851comm="sudo"name="shadow"dev=dm-0ino=379669scontext=루트:system_r:httpd_sys_script_t tcontext=system_u:object_r:shadow_t tclass=file
Sep22 15:01:56ri 커널:감사(1222063316.571:781):avc:거부{setgid}에 대한 pid=4851comm="sudo"기능=6scontext=루트:system_r:httpd_sys_script_t tcontext=루트:system_r:httpd_sys_script_t tclass=능
Sep22 15:01:56ri 커널:감사(1222063316.574:782):avc:거부{setuid}에 대한 pid=4851comm="sudo"기능=7scontext=루트:system_r:httpd_sys_script_t tcontext=루트:system_r:httpd_sys_script_t tclass=능
Sep22 15:01:56ri 커널:감사(1222063316.577:783):avc:거부{setgid}에 대한 pid=4851comm="sudo"기능=6scontext=루트:system_r:httpd_sys_script_t tcontext=루트:system_r:httpd_sys_script_t tclass=능

내 visudo,나는 추가인

User_Alias WWW=apache

WWW 모든=(모든)NOPASSWD:모든

할 수 있습니 저를 도와주세요?내가 뭔가 잘못하고 있는가?

당신의 도움을 주셔서 감사합니다,

tiBoun

도움이 되었습니까?

해결책

문제는 sudo 에서는 순간,그와 함께 SELinux, 는(합리적인)설정을 거부하면 아파치에서 얻는 루트 권한이 있습니다.
당신이 필요하거나 명시적으로 허용하는 이(사용할 수 있는 audit2allow 이를 위해),또는 SELinux 를 설정을 허가하는 대신 합니다.나는 제안하였습니다.

다른 팁

오류에 당신을 얻을 것 같은 관련 SELinux 를 구성합니다.당신이 시도할 수 있는 일시적으로 비활성화다.

옆으로,나는 강하게 당신을 조정하 sudo 구성을 더 제한적입니다.

User_Alias WWW=apache
Cmnd_Alias WEBCMDS=/etc/init.d/portmap
WWW ALL=NOPASSWD: WEBCMDS

가 발생하는 문제가 최근에 받아들이 대답 위었습니다.그러나 나는 다음과 같이 대답하여 정교한 같은,그래서 그 다음 사람하지 않는 시간을 보낼 필요가 많다.

따라 7 절은 다음의 링크: https://wiki.centos.org/HowTos/SELinux.

하와 grep httpd_sys_script_t.

기본적으로 단계는 다음과 같습니다:

# grep httpd_sys_script_t /var/log/audit/audit.log | audit2allow -M httpdallowsudo
# semodule -i httpdallowsudo.pp

이것은 아마도 내려가려는 것과 같이 실행 sudo 에서는 비대화형 쉘입니다.

을 할 경우 grep 위해'sudo'에서 아파치 사용자 메일이 로그를 찾을 수 있습 같은 것들이

sudo:죄송이 있어야 합 tty 실행 sudo

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top