2014-09-23 3 views
2

httpd가 'apache'사용자로 실행되기 때문에 CentOS 6를 실행 중입니다. 보안상의 이유로, 나는 'AQ'사용자로 간부를 통해 실행되는 sudo를 사용하려는 :CentOS에서 sudo로 PHP exec를 실행하지 못했습니다.

나는 다음 줄을 추가 한 visudo를 가진
<?php exec("/usr/bin/sudo -u aq somescript.sh",$output,$return_val);?> 

: 또한

apache ALL = (aq) NOPASSWD: ALL 

나는 일시적으로는 로그인으로 아파치를 준 shell (/ bin/bash), 테스트 할 수 있습니다.

/usr/bin/sudo -u aq somescript.sh 

직접 작동합니다.

sudo가 호출되면 $ return_val은 '1'을 전달하므로 php exec가 실패합니다.

+0

sestatus가 비활성화되어 SELINUX가 꺼집니다. – Stefan

답변

2

을 주석

기본값 requiretty

I'v 몇 가지 방법으로 귀하의 케이스를 테스트 등 /의 sudoers /에서이 라인이 하나가 나에게 성공을 준다 개미.

+0

더하기 1,000,000 upvotes! –

관련 문제