PHP에서 sudo로 명령을 실행할 수 없습니다(CentOS 7)

PHP에서 sudo로 명령을 실행할 수 없습니다(CentOS 7)

CentOS 7의 PHP 스크립트에서 sudo 명령을 실행해야 하는데 오류가 발생합니다.

sudo: tty가 존재하지 않으며 Askpass 프로그램이 지정되지 않았습니다.

다른 사람들이 제안한 대로 sudoers 파일을 다음 줄로 편집했습니다.

  1. tty가 필요하지 않습니다.

    Defaults:apache !requiretty

  2. Apache 사용자의 비밀번호를 설정하지 마십시오.

    apache  ALL=(root) NOPASSWD: /path/to/app, /path/to/app2

(이 경로가 올바른지 다시 확인했습니다.) 내 오류가 남아 있습니다. 어떤 아이디어가 있나요?

답변1

sudo이 줄은 app 및 app2에 권한을 부여하지 않습니다 .

apache  ALL=(root) NOPASSWD: /path/to/app /path/to/app2

/path/to/app위의 줄은 인수도 전달하는 경우 sudo 실행 권한을 부여합니다 /path/to/app2. 여러 명령을 지정하려면 쉼표로 구분하세요.

apache  ALL=(root) NOPASSWD: /path/to/app, /path/to/app2

관련 정보