- 我想根据代理机器上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 的检查,而不是对代理机器的检查,而我需要在代理机器上进行检查。
谁能帮我 ?