Improved sudo recipe
This is an extension to the Simplest Puppet Recipe for sudo as it includes support for installing / removing Solaris sudo packages.
# sudo.pp
#
# Class used to install sudo and deploy a standardized sudoers file
#
class sudo {
# create the sudoers file from a UCR template
file { "/etc/sudoers":
owner => root,
group => root,
mode => 440,
source => "puppet:///dist/apps/sudo/sudoers"
}
case $operatingsystem {
solaris: {
# create the sudo package staging directory
file { "/sysprov/dist/apps/sudo":
owner => puppet,
group => puppet,
ensure => directory
}
# copy the UCRsudo-currentversion package to the staging area
file { "/sysprov/dist/apps/sudo/UCRsudo-1-6-9p9":
owner => puppet,
group => puppet,
source => "puppet:///dist/apps/sudo/UCRsudo-1-6-9p9",
}
# install the UCRsudo-currentversion package
package { "UCRsudo-1-6-9p9":
ensure => installed,
provider => sun,
source => "/sysprov/dist/apps/sudo/UCRsudo-1-6-9p9",
require => File[ "/sysprov/dist/apps/sudo/UCRsudo-1-6-9p9" ]
}
# remove the UCRsudo-previousversion package
package { "UCRsudo":
ensure => absent,
provider => sun,
}
}
}
}
#