1
  • 我想根据代理机器上Proftpd的状态更改Fail2ban的jail.conf中的变量“启用”。
  • 例如:如果在代理机器上,Proftpd 正在运行,“enable = true”(Fail2ban 将监控 Proftpd)如果 Proftpd 停止,“enable = false”(Fail2ban 不会监控 Proftpd)
  • 我的 init.pp 文件:

    类fail2ban {包{“fail2ban”:确保=>“已安装”,}

    service { "fail2ban":
            ensure => "running",
            enable => "true",
            require => Package["fail2ban"],
    }
    $path = "/var/run/proftpd.pid"
    $status = inline_template("<% if File.exist?(@path) -%>true<% else -%>false<%end -%>")
    file { "jail.conf":
            path    => '/etc/fail2ban/jail.conf',
        ensure  => file,
        require => Package['fail2ban'],
        content => template("fail2ban/jail.conf.erb"),
    notify  => Service['fail2ban'],
    }
    

我的模板jail.conf.erb文件:

[proftpd]
enabled  = <%= $status %>
port     = ftp,ftp-data,ftps,ftps-data
filter   = proftpd
logpath  = /var/log/proftpd/proftpd.log
maxretry = 5

问题是我的“启用”结果是根据对 Puppet Master 的检查,而不是对代理机器的检查,而我需要在代理机器上进行检查。

谁能帮我 ?

4

0 回答 0