Puppet Class: lsys::cron
- Inherits:
- lsys::params
- Defined in:
- manifests/cron.pp
Summary
Basic crond management (packages/services)Overview
Basic crond management (packages/services)
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'manifests/cron.pp', line 19
class lsys::cron (
Boolean $manage_package = true,
String $package_ensure = 'installed',
String $package_name = $lsys::params::cron_package_name,
Boolean $enable_monit = false,
Boolean $enable_hardening = false,
Boolean $file_system_hardening = true,
Array[String] $users_allow = ['root'],
) inherits lsys::params {
if $enable_hardening {
$manage_users_allow = true
# Running cron jobs can be allowed or disallowed for different users. For
# this purpose, use the cron.allow and cron.deny files. If the cron.allow
# file exists, a user must be listed in it to be allowed to use cron. If
# the cron.allow file does not exist but the cron.deny file does exist,
# then a user must not be listed in the cron.deny file in order to use cron.
# If neither of these files exists, only the super user is allowed to use
# cron.
file { '/etc/cron.deny':
ensure => absent,
}
# FS hardening
if $file_system_hardening {
file {
'/etc/anacrontab': mode => '0600';
'/etc/crontab': mode => '0600';
'/var/spool/anacron': mode => '0750';
'/var/spool/cron': mode => '0700';
'/var/spool/cron/root': mode => '0600';
'/usr/sbin/crond': mode => '0750';
}
}
}
else {
$manage_users_allow = false
}
# forge.puppet.com/puppet/cron
class { 'cron':
manage_service => true,
manage_package => false,
manage_users_allow => $manage_users_allow,
users_allow => $users_allow,
manage_users_deny => false,
}
class { 'lsys::cron::cronjobs_directory': }
class { 'lsys::cron::service':
enable_monit => $enable_monit,
}
if $manage_package {
package { 'cron':
ensure => $package_ensure,
name => $package_name,
# provider yum can remove package with all circular dependencies
provider => 'yum',
before => [
Class['lsys::cron::cronjobs_directory'],
Class['lsys::cron::service'],
],
}
}
}
|