
Linux의 /etc/crontab에서 실행하는 bash 스크립트가 있습니다.
$ uname -a
Linux mymachine.com 3.4.76-65.111.amzn1.x86_64 #1 SMP Tue Jan 14 21:06:49 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Bash 스크립트에는 다음 줄이 포함되어 있습니다.
sudo shutdown -r 5
그러나 cron 작업이 실행되면("myuser"라는 사용자로) 머신은 재부팅되지 않으며 대신 로그에서 이 내용을 찾습니다.
[sudo] password for myuser:
이 사용자에게 cron에서 재부팅할 수 있는 기능을 제공하려면 어떻게 해야 합니까? 이 스크립트를 다른 사용자로 실행하는 것은 옵션이 아닙니다.
답변1
/etc/sudoers
다음과 같은 줄이 필요합니다 .
myuser ALL = NOPASSWD: /sbin/shutdown
이 NOPASSWD
부분은 비밀번호를 제공하여 종료 명령을 실행 sudo
하도록 지시합니다.myuser
이러한 줄을 에 추가하려면 /etc/sudoers
다음을 실행합니다(루트로):
sudoedit /etc/sudoers
sudoedit
업데이트된 버전의 파일을 설치하기 전에 오류가 있는지 검사합니다. 결과적으로 이는 파일을 직접 편집하는 것보다 안전합니다.