- エージェントマシンのProftpdの状態に合わせて、Fail2banのjail.conf内の変数「enabled」を変更したい。
- 例: エージェント マシンで Proftpd が実行されている場合、"enable = true" (Fail2ban は Proftpd を監視します) Proftpd が停止している場合、"enable = false" (Fail2ban は Proftpd を監視しません)
私のinit.ppファイル:
class fail2ban { package { "fail2ban": ensure => "installed", }
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 のチェックによるものであり、エージェント マシンでチェックを行う必要があることです。
誰でも私を助けることができますか?