class sysctl { # root exploit fix, see http://wiki.debian.org/mmap_min_addr # TODO: remove in the future or use a sysctl puppet module file { "/etc/sysctl.d/mmap_min_addr.conf": owner => "root", group => "root", mode => 0644, ensure => present, content => "vm.mmap_min_addr = 4096\n", } # see http://www.linux-vserver.org/Frequently_Asked_Questions file { "/etc/sysctl.d/net.ipv4.conf.all.promote_secondaries.conf": owner => "root", group => "root", mode => 0644, ensure => present, content => "net.ipv4.conf.all.promote_secondaries = 1\n", } exec { "/etc/init.d/procps restart": subscribe => File["/etc/sysctl.d/mmap_min_addr.conf", "/etc/sysctl.d/net.ipv4.conf.all.promote_secondaries.conf"], refreshonly => true, } $printk_levels = '3 4 1 3' file { "/etc/sysctl.d/kernel.printk.conf": owner => "root", group => "root", mode => 0644, ensure => present, content => "kernel.printk = $printk_levels\n", } exec { "/bin/echo '$printk_levels' > /proc/sys/kernel/printk": subscribe => File["/etc/sysctl.d/kernel.printk.conf"], refreshonly => true, } } class sysctl::laptop { file { "/etc/sysctl.d/madwifi.conf": owner => "root", group => "root", mode => 0644, source => "puppet://$server/modules/nodo/etc/sysctl.d/madwifi.conf", ensure => $lsbdistcodename ? { 'lenny' => present, default => absent, }, } } class sysctl::appliance { case $kernel_panic { '': { $kernel_panic = "20" } } file { "/etc/sysctl.d/kernel.panic.conf": owner => "root", group => "root", mode => 0644, ensure => present, content => "kernel.panic = $kernel_panic\n", } exec { "/bin/echo '$kernel_panic' > /proc/sys/kernel/panic": subscribe => File["/etc/sysctl.d/kernel.panic.conf"], refreshonly => true, } }