remove portforwarder files if we do not have a portforwarding user
authorPeter Palfrader <peter@palfrader.org>
Sat, 18 Mar 2017 18:42:04 +0000 (19:42 +0100)
committerPeter Palfrader <peter@palfrader.org>
Sat, 18 Mar 2017 19:13:54 +0000 (20:13 +0100)
manifests/site.pp
modules/portforwarder/manifests/init.pp

index 28a443c..55d18f8 100644 (file)
@@ -40,6 +40,8 @@ node default {
        include grub
        include multipath
        include popcon
+       include portforwarder
+
        if $::lsbdistcodename == squeeze {
                include roles::udldap::client
        } else {
@@ -104,10 +106,6 @@ node default {
                include hosts
        }
 
-       if $::portforwarder_user_exists {
-               include portforwarder
-       }
-
        if $::samhain {
                include samhain
        }
index e7009b2..e5a5982 100644 (file)
@@ -2,28 +2,37 @@ class portforwarder {
        # do not depend on xinetd, yet.  it might uninstall other inetds
        # for now this will have to be done manually
 
-       if ! $::portforwarder_key {
-               exec { 'create-portforwarder-key':
-                       command => '/bin/su - portforwarder -c \'mkdir -p -m 02700 .ssh && ssh-keygen -C "`whoami`@`hostname` (`date +%Y-%m-%d`)" -P "" -f .ssh/id_rsa -q\'',
-                       onlyif  => '/usr/bin/getent passwd portforwarder > /dev/null && ! [ -e /home/portforwarder/.ssh/id_rsa ]'
+       if $::portforwarder_user_exists {
+               if ! $::portforwarder_key {
+                       exec { 'create-portforwarder-key':
+                               command => '/bin/su - portforwarder -c \'mkdir -p -m 02700 .ssh && ssh-keygen -C "`whoami`@`hostname` (`date +%Y-%m-%d`)" -P "" -f .ssh/id_rsa -q\'',
+                               onlyif  => '/usr/bin/getent passwd portforwarder > /dev/null && ! [ -e /home/portforwarder/.ssh/id_rsa ]'
+                       }
                }
-       }
 
-       file { '/etc/ssh/userkeys/portforwarder':
-               content => template('portforwarder/authorized_keys.erb'),
-       }
-       file { '/etc/xinetd.d':
-               ensure  => directory,
-               owner   => root,
-               group   => root,
-               mode    => '0755',
-       }
-       file { '/etc/xinetd.d/dsa-portforwader':
-               content => template('portforwarder/xinetd.erb'),
-               notify  => Exec['service xinetd reload']
-       }
+               file { '/etc/ssh/userkeys/portforwarder':
+                       content => template('portforwarder/authorized_keys.erb'),
+               }
+               file { '/etc/xinetd.d':
+                       ensure  => directory,
+                       owner   => root,
+                       group   => root,
+                       mode    => '0755',
+               }
+               file { '/etc/xinetd.d/dsa-portforwader':
+                       content => template('portforwarder/xinetd.erb'),
+                       notify  => Exec['service xinetd reload']
+               }
 
-       exec { 'service xinetd reload':
-               refreshonly => true,
+               exec { 'service xinetd reload':
+                       refreshonly => true,
+               }
+       } else {
+               file { [
+                       '/etc/ssh/userkeys/portforwarder',
+                       '/etc/xinetd.d/dsa-portforwader',
+                       ]:
+                       ensure => 'absent',
+               }
        }
 }