/etc/sudoers.d 폴더의 모든 파일을 포함하도록 /etc/sudoers 파일을 구성했습니다.
이것은 잘 작동하는 것 같습니다. 그러나 때때로 서버는 잊어버리고 스크립트 실행에 실패하며 다음 오류가 발생합니다: "tty가 존재하지 않으며 Askpass 프로그램이 지정되지 않았습니다."
잠시 후 아무런 변경 없이(내 경우에는) 서버가 기억되고 스크립트가 다시 작동하기 시작했습니다.
여기에서 내가 허용한 파일이 오랫동안 수정되지 않았음을 확인할 수 있습니다.
-rw-r--r-- 1 root root 67 Jul 27 20:34 admin-tools
그러나 하루에 한 번 정도 짧은 시간(보통 20~90분) 동안만 스크립트가 실행되지 않고 이 오류가 나타납니다. 스크립트는 특정 웹 페이지에 의해 트리거되며 www-data 사용자로 10분마다 실행됩니다. 실패하면 2~9번 실패하므로 예상 시간은 다음과 같습니다.
서버가 sudoers.d 폴더의 내용을 잊어버리는 원인이 무엇인지 아는 사람이 있습니까?
내 구성 파일에 무엇이 있는지 알고 싶다면 다음을 참조하세요.
www-data ALL = NOPASSWD: [PATH TO MY SCRIPT]/file-copy.sh
답변1
문제를 발견했습니다!
스크립트는 NFS 공유에 설치되었으며 알 수 없는 이유로 공유 경로가 무작위로 변경된 것으로 나타났습니다.
나중에 범위를 좁힐 예정이지만 /etc/sudoers.d 폴더에 있는 권한 파일은 스크립트가 한 경로를 기반으로만 존재할 것으로 예상하므로 다른 매핑으로 이동하면 실패합니다.
이제 sudoers 파일에 가능한 경로를 모두 포함합니다.
이제... 매핑이 변경된 이유를 알아보세요!