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
両方の項目に対して構文エラーが発生します。