我可以在 fail2ban 日志路径中使用正则表达式吗?

我可以在 fail2ban 日志路径中使用正则表达式吗?

我正在使用CETNOS 7,,yum install fail2ban/etc/fail2ban/jail.local,我想要设置:

[DEFAULT]
apache_error_log = /var/log/httpd/*error_log
/home/websites/.*?/log/errorlog  

表达:

    [DEFAULT]
    apache_error_log = /var/log/httpd/*error_log
    /home/websites/site1/log/errorlog
    /home/websites/site2/log/errorlog  

然后,我可以按如下方式 %(apache_error_log)s使用:/etc/fail2ban/jail.local

[apache-noscript]

port     = http,https
logpath  = %(apache_error_log)s

这个可以吗?

答案1

Fail2Banlogpath不使用正则表达式,但是全局Unix 文件名模式匹配

jail.conf (5)logpath

要监视的日志文件的文件名,以换行符分隔。可以使用包含*?或的glob -- 路径[0-9],但是,只有启动时存在的与此 glob 模式匹配的文件才会被考虑。

规则:

  • *匹配任意数量的任意字符(包括无)
  • ?匹配任意单个字符
  • [abc]匹配列出的字符之一
  • [a-z]匹配(与语言环境相关的)字符范围中的一个字符
  • 括号内,!可用于否定(POSIX 系统)
  • 路径分隔符 ie/永远不会匹配

因此,/home/websites/*/log/errorlog就这么做。

相关内容