가능한 중복 :
How to call shell script from php that requires SUDO?PHP exec를 통해 SUDO를 실행 하시겠습니까?
나는 SU 권한 (우분투 서버에서) 실행하는 데 필요한 파이썬 파일이 있습니다.
어떻게하는지 알 수 없습니다.
과 같이 PHP에서 실행 : 작동하지
$command = "python /path/to/my/file.py params";
$temp = exec($command, $output);
var_dump($output);
.
가 시도 (Xvfb가 비 루트에 대한 시작하는 데 실패) :
$command = "echo 'root_pwd' | sudo -S python /program.py params"
...
작동하지 않았다
.시도 : 편집은/etc /의 sudoers : 다음
Cmnd_Alias BUNDLE = /path/to/myprog.py
nobody ALL=(ALL) NOPASSWD:BUNDLE
과 :
이$command = "sudo -u nobody python myprog.py params";
...
작동하지 않았다.
내가 "작동하지 않는다"고 말하면 - var_dump ($ output)은 빈 배열을 반환하고 서버 (myprog.py는 서버에 파일을 생성해야 함)에 성공하지 못하거나 페이지가 몇 분 동안 만로드됩니다. 그것이 끝날 때까지.
기본 .py 파일 (특수한 권한이 필요 없음) 작동.
Pls help.
PS : .Py 파일이 URL의 스크린 샷을 만들고 있으므로 webkitgtk, Xvfb 및 다른 것들을 사용하고 있습니다.
많은 (대부분?) sudo를 구성 호출되는'sudo'를 방지'requiretty' 지시자를 포함 비 - 사용자 - 터미널 프로세스에 의해. 'requiretty'가 비활성화 된 것이 더 나을지도 모르지만, 이것을 설정하는 올바른 방법은 serverfault.com에 문의하는 것이 좋습니다. _ 심하게 _ 시스템의 보안을 손상시킬 수 있습니다 ... –