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
Sudoの通知メールを設定しようとしましたが、コマンドvisudoを使用して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のメール通知を設定するにはどうすればよいですか?
問題は121行目ではなく、次の行のmailfrom "[email protected]
にあります。終了する二重アポストロフィを忘れました。良いバージョンは次のとおりです。
mailfrom "[email protected]"
122行目ではなく121行目で構文エラーが発生した理由は、Sudoの構文アナライザーとテキストエディターが少し異なる行順を使用していたためです。
同じバージョンのSudo 1.8.6p on centos 6.5で、二重引用符が欠落していない同様のエラーが表示されていました。
Visudoがequals構文を望んでいたようです-
Defaults mailto = "[email protected]"
Defaults mail_always
指定する
Defaults mailto "[email protected]"
Defaults mail_always on
両方のエントリで構文エラーが発生しました。