CentOS 7의 PHP 스크립트에서 sudo 명령을 실행해야 하는데 오류가 발생합니다.
sudo: tty가 존재하지 않으며 Askpass 프로그램이 지정되지 않았습니다.
다른 사람들이 제안한 대로 sudoers 파일을 다음 줄로 편집했습니다.
tty가 필요하지 않습니다.
Defaults:apache !requiretty
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