NOPASSWD 설정이 완료되었음에도 불구하고 PHP에서 SSH 명령을 실행하면 sudo: no tty가 있고 Askpass 프로그램이 지정되지 않음 오류가 발생합니다.

NOPASSWD 설정이 완료되었음에도 불구하고 PHP에서 SSH 명령을 실행하면 sudo: no tty가 있고 Askpass 프로그램이 지정되지 않음 오류가 발생합니다.

저는 LAMPP를 사용하여 아파치 서버를 실행하고 있습니다. ssh명령 을 실행하는 PHP 파일에서 Python 스크립트를 실행하고 있습니다 scp. 하지만 오류가 발생합니다.

sudo: no tty present and no askpass program specified

이 오류를 찾아보고 sudoers아래 제안된 대로 파일에 휠 세트를 만들었습니다.

%wheel  ALL=(ALL)       NOPASSWD:ALL

내가 변경한 httpd.conf파일에서user=apache

Group=wheel

하지만 여전히 위의 오류가 발생하며 그 이유를 모르겠습니다. exec(whoami)PHP 파일에서 이 작업을 수행 하면 인쇄되므로 daemon내 PHP가 어떤 사용자에 의해 실행되고 있는지 확실하지 않습니다.

답변1

tty다음을 포함 해야 합니다 sudoers.

Defaults    !requiretty

관련 정보