# /etc/puppet/manifests/classes/sudo.pp class sudo { $host_alias = [ "LOCALNET = 192.168.0.0/24, localhost" ] $cmnd_alias = [ "DEBIAN_TOOLS = /usr/bin/apt-get, /usr/bin/auto-get, /usr/bin/dpkg, /usr/bin/dselect, /usr/sbin/dpkg-reconfigure", "PBUILDER = /usr/sbin/pbuilder" ] $wwwuser = $operatingsystem ? { Debian => "www-data", RedHat => "apache" } $bb_user_alias = [ "BB = bb", "WWWUSER = $wwwuser" ] $user_alias = [ ] $bb_cmnd_alias = [ "BBRM = /usr/local/bb/bin/bbrm" ] $bb_rules = [ "WWWUSER ALL=(bb)NOPASSWD: BBRM" ] $sudo_defaults = "!lecture,tty_tickets,!fqdn" $sudo_rules = [ # "%admin ALL=(ALL) ALL, NOPASSWD: DEBIAN_TOOLS", "%pbuilder LOCALNET = NOPASSWD: PBUILDER", "buildd ALL=(ALL) NOPASSWD:ALL" ] $content = template("sudo.erb") file { "/home/rpinson/sudoers": owner => root, group => root, mode => 600, content => validate($content,"/usr/sbin/visudo -c -f") } }