diff --git a/selinux/manifests/init.pp b/selinux/manifests/init.pp new file mode 100644 index 0000000..b6b2f29 --- /dev/null +++ b/selinux/manifests/init.pp @@ -0,0 +1,52 @@ + +# Set SELinux boolean value +# +# === Parameters +# +# $name: +# SELinux key to set +# $value: +# Value for given key (on or off) +# +# === Sample usage +# +# selinux::boolean { "use_nfs_home_dirs": +# value => "on", +# } +# +define selinux::boolean($value) { + + selboolean { $name: + value => $value, + persistent => true, + } + +} + + +# Configure SELinux port authorizations +# +# === Parameters +# +# $name: +# Port range to configure +# $type: +# SELinux type for port range +# $proto: +# Protocol for port (tcp or udp) +# +# === Sample usage +# +# selinux::manage_port { "18140-18143": +# type => "http_port_t", +# proto => "tcp", +# } +# +define selinux::manage_port($type, $proto) { + + exec { "semanage port -a -t ${type} -p ${proto} ${name}": + path => "/bin:/usr/bin:/sbin:/usr/sbin", + unless => "semanage port -ln | egrep '^${type}[ ]*${proto}' | egrep ' ${name}(,.*)?\$'", + } + +}