Centos 버전을 사용하고 있습니다.
[sysadmin@backup-srv ~]$ cat /etc/redhat-release
CentOS release 6.4 (Final)
나는 이 sudo 버전을 사용하고 있습니다:
[sysadmin@backup-srv ~]$ sudo -V
Sudo version 1.8.6p3
Sudoers policy plugin version 1.8.6p3
Sudoers file grammar version 42
Sudoers I/O plugin version 1.8.6p3
visudo 명령을 사용하여 sudo에 대한 알림 이메일을 설정하려고 했습니다. sudo 파일 맨 아래에 이 항목을 추가했지만 다음 구문 오류가 발생했습니다.
Defaults mailto "[email protected]"
Defaults mailfrom "[email protected]
Defaults mail_always on
Defaults mailsub “*** Command run via sudo on %h ***”
Defaults mail_badpass on
Defaults badpass_message "Please Provide Correct Password"
Defaults !lecture,tty_tickets,!fqdn,!syslog
Defaults logfile=/var/log/sudo.log
Sudo 프로필을 저장할 때 발생하는 오류는 다음과 같습니다.
121 Defaults mailto "[email protected]"
122 Defaults mailfrom "[email protected]
123 Defaults mail_always on
124 Defaults mailsub “*** Command run via sudo on %h ***”
125 Defaults mail_badpass on
126 Defaults badpass_message "Please Provide Correct Password"
127 Defaults !lecture,tty_tickets,!fqdn,!syslog
128 Defaults logfile=/var/log/sudo.log
오류는 다음과 같습니다
visudo: >>> /etc/sudoers: syntax error near line 121 <<<
visudo: >>> /etc/sudoers: syntax error near line 121 <<<
이제 무엇을 해야 할까요? Sudo 버전 1.8.6p3에 대한 이메일 알림을 설정하는 방법은 무엇입니까?
답변1
문제는 121번 라인에 있는 것이 아니라 다음 라인인 라인에 있습니다. 끝에 이중 아포스트로피를 잊어버렸습니다. 좋은 버전은 다음과 같습니다.mailfrom "[email protected]
mailfrom "[email protected]"
sudo의 구문 분석기와 텍스트 편집기가 약간 다른 줄 순서를 사용하기 때문에 122행 대신 121행에서 구문 오류가 발생합니다.
답변2
큰 따옴표가 누락되지 않고 동일한 버전의 sudo를 사용하지 않고도 비슷한 오류가 발생했습니다.1.8.6p3존재하다분할 6.5.
visudo가 같음 구문을 원하는 것 같습니다.
Defaults mailto = "[email protected]"
Defaults mail_always
지정하다
Defaults mailto "[email protected]"
Defaults mail_always on
두 항목 모두에 대해 구문 오류가 발생합니다.