Sudo 电子邮件通知设置错误

Sudo 电子邮件通知设置错误

我使用的是 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 设置邮件通知?

答案1

问题不在于您的第 121 行,而在于您的下一行,即您的 line 。您忘记了结尾的双撇号。好的版本是:mailfrom "[email protected]

mailfrom "[email protected]"

之所以在第 121 行而不是第 122 行出现语法错误,是因为 sudo 的语法分析器和文本编辑器使用了稍微不同的行排序。

答案2

我看到一个类似的错误,没有缺少双引号,并且使用相同版本的 sudo --1.8.6p3分体6.5

看起来 visudo 想要 equals 语法——

Defaults mailto = "[email protected]"
Defaults mail_always

指定

Defaults mailto "[email protected]"
Defaults mail_always on

导致两个条目都出现语法错误。

相关内容