Merge remote-tracking branch 'shared/master'
Conflicts: manifests/init.pp
This commit is contained in:
commit
b6cd3ed6ce
7 changed files with 218 additions and 16 deletions
94
files/sudoers/CentOS/sudoers
Normal file
94
files/sudoers/CentOS/sudoers
Normal file
|
@ -0,0 +1,94 @@
|
|||
## Sudoers allows particular users to run various commands as
|
||||
## the root user, without needing the root password.
|
||||
##
|
||||
## Examples are provided at the bottom of the file for collections
|
||||
## of related commands, which can then be delegated out to particular
|
||||
## users or groups.
|
||||
##
|
||||
## This file must be edited with the 'visudo' command.
|
||||
|
||||
## Host Aliases
|
||||
## Groups of machines. You may prefer to use hostnames (perhap using
|
||||
## wildcards for entire domains) or IP addresses instead.
|
||||
# Host_Alias FILESERVERS = fs1, fs2
|
||||
# Host_Alias MAILSERVERS = smtp, smtp2
|
||||
|
||||
## User Aliases
|
||||
## These aren't often necessary, as you can use regular groups
|
||||
## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname
|
||||
## rather than USERALIAS
|
||||
# User_Alias ADMINS = jsmith, mikem
|
||||
|
||||
|
||||
## Command Aliases
|
||||
## These are groups of related commands...
|
||||
|
||||
## Networking
|
||||
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
|
||||
|
||||
## Installation and management of software
|
||||
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
|
||||
|
||||
## Services
|
||||
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig
|
||||
|
||||
## Updating the locate database
|
||||
Cmnd_Alias LOCATE = /usr/sbin/updatedb
|
||||
|
||||
## Storage
|
||||
Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount
|
||||
|
||||
## Delegating permissions
|
||||
Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp
|
||||
|
||||
## Processes
|
||||
Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall
|
||||
|
||||
## Drivers
|
||||
Cmnd_Alias DRIVERS = /sbin/modprobe
|
||||
|
||||
# Defaults specification
|
||||
|
||||
#
|
||||
# Disable "ssh hostname sudo <cmd>", because it will show the password in clear.
|
||||
# You have to run "ssh -t hostname sudo <cmd>".
|
||||
#
|
||||
Defaults requiretty
|
||||
|
||||
Defaults env_reset
|
||||
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \
|
||||
LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \
|
||||
LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \
|
||||
LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \
|
||||
LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \
|
||||
_XKB_CHARSET XAUTHORITY"
|
||||
|
||||
## Next comes the main part: which users can run what software on
|
||||
## which machines (the sudoers file can be shared between multiple
|
||||
## systems).
|
||||
## Syntax:
|
||||
##
|
||||
## user MACHINE=COMMANDS
|
||||
##
|
||||
## The COMMANDS section may have other options added to it.
|
||||
##
|
||||
## Allow root to run any commands anywhere
|
||||
root ALL=(ALL) ALL
|
||||
|
||||
## Allows members of the 'sys' group to run networking, software,
|
||||
## service management apps and more.
|
||||
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
|
||||
|
||||
## Allows people in group wheel to run all commands
|
||||
# %wheel ALL=(ALL) ALL
|
||||
|
||||
## Same thing without a password
|
||||
# %wheel ALL=(ALL) NOPASSWD: ALL
|
||||
|
||||
## Allows members of the users group to mount and unmount the
|
||||
## cdrom as root
|
||||
# %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom
|
||||
|
||||
## Allows members of the users group to shutdown this system
|
||||
# %users localhost=/sbin/shutdown -h now
|
||||
|
39
files/sudoers/FreeBSD/sudoers
Normal file
39
files/sudoers/FreeBSD/sudoers
Normal file
|
@ -0,0 +1,39 @@
|
|||
# sudoers file.
|
||||
#
|
||||
# This file MUST be edited with the 'visudo' command as root.
|
||||
# Failure to use 'visudo' may result in syntax or file permission errors
|
||||
# that prevent sudo from running.
|
||||
#
|
||||
# See the sudoers man page for the details on how to write a sudoers file.
|
||||
#
|
||||
|
||||
# Host alias specification
|
||||
|
||||
# User alias specification
|
||||
|
||||
# Cmnd alias specification
|
||||
|
||||
# Defaults specification
|
||||
# Uncomment if needed to preserve environmental variables related to the
|
||||
# FreeBSD pkg_* utilities and fetch.
|
||||
#Defaults env_keep += "PKG_PATH PKG_DBDIR PKG_TMPDIR TMPDIR PACKAGEROOT PACKAGESITE PKGDIR FTP_PASSIVE_MODE"
|
||||
|
||||
# Additionally uncomment if needed to preserve environmental variables
|
||||
# related to portupgrade.
|
||||
#Defaults env_keep += "PORTSDIR PORTS_INDEX PORTS_DBDIR PACKAGES PKGTOOLS_CONF"
|
||||
|
||||
# Runas alias specification
|
||||
|
||||
# User privilege specification
|
||||
root ALL=(ALL) ALL
|
||||
|
||||
# Uncomment to allow people in group wheel to run all commands
|
||||
%wheel ALL=(ALL) ALL
|
||||
|
||||
# Same thing without a password
|
||||
# %wheel ALL=(ALL) NOPASSWD: ALL
|
||||
|
||||
# Samples
|
||||
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
|
||||
# %users localhost=/sbin/shutdown -h now
|
||||
#includedir /etc/sudoers.d
|
41
files/sudoers/OpenBSD/sudoers
Normal file
41
files/sudoers/OpenBSD/sudoers
Normal file
|
@ -0,0 +1,41 @@
|
|||
# $OpenBSD: sudoers,v 1.19 2007/12/03 15:09:48 millert Exp $
|
||||
#
|
||||
# sudoers file.
|
||||
#
|
||||
# This file MUST be edited with the 'visudo' command as root.
|
||||
# Failure to use 'visudo' may result in syntax or file permission errors
|
||||
# that prevent sudo from running.
|
||||
#
|
||||
# See the sudoers man page for the details on how to write a sudoers file.
|
||||
#
|
||||
|
||||
# Host alias specification
|
||||
|
||||
# User alias specification
|
||||
|
||||
# Cmnd alias specification
|
||||
|
||||
# Defaults specification
|
||||
Defaults env_keep +="DESTDIR FETCH_CMD FLAVOR FTPMODE GROUP MAKE MULTI_PACKAGES"
|
||||
Defaults env_keep +="OKAY_FILES OWNER PKG_DBDIR PKG_DESTDIR PKG_CACHE PKG_PATH"
|
||||
Defaults env_keep +="PKG_TMPDIR PORTSDIR RELEASEDIR SUBPACKAGE WRKOBJDIR"
|
||||
Defaults env_keep +="SSH_AUTH_SOCK EDITOR VISUAL"
|
||||
|
||||
# Uncomment to preserve the environment for users in group wheel
|
||||
#Defaults:%wheel !env_reset
|
||||
|
||||
# Runas alias specification
|
||||
|
||||
# User privilege specification
|
||||
root ALL=(ALL) SETENV: ALL
|
||||
|
||||
# Uncomment to allow people in group wheel to run all commands
|
||||
# and set environment variables.
|
||||
# %wheel ALL=(ALL) SETENV: ALL
|
||||
|
||||
# Same thing without a password
|
||||
# %wheel ALL=(ALL) NOPASSWD: SETENV: ALL
|
||||
|
||||
# Samples
|
||||
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
|
||||
# %users localhost=/sbin/shutdown -h now
|
11
manifests/base.pp
Normal file
11
manifests/base.pp
Normal file
|
@ -0,0 +1,11 @@
|
|||
class sudo::base {
|
||||
if $sudo::deploy_sudoers {
|
||||
file{'/etc/sudoers':
|
||||
source => [ "puppet:///modules/site_sudo/sudoers/${::fqdn}/sudoers",
|
||||
"puppet:///modules/site_sudo/sudoers/sudoers",
|
||||
"puppet:///modules/sudo/sudoers/${::operatingsystem}/sudoers",
|
||||
"puppet:///modules/sudo/sudoers/sudoers" ],
|
||||
owner => root, group => 0, mode => 0440;
|
||||
}
|
||||
}
|
||||
}
|
12
manifests/freebsd.pp
Normal file
12
manifests/freebsd.pp
Normal file
|
@ -0,0 +1,12 @@
|
|||
class sudo::freebsd inherits sudo::base {
|
||||
package{'sudo':
|
||||
ensure => installed,
|
||||
}
|
||||
|
||||
if $sudo_deploy_sudoers {
|
||||
File['/etc/sudoers']{
|
||||
path => "/usr/local/etc/sudoers",
|
||||
require => Package['sudo'],
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,19 +1,13 @@
|
|||
class sudo {
|
||||
package { 'sudo': ensure => installed, }
|
||||
# manifests/init.pp - manage sudo stuff
|
||||
# Copyright (C) 2007 admin@immerda.ch
|
||||
# GPLv3
|
||||
|
||||
file { '/etc/sudoers':
|
||||
source => ["puppet:///secrets/sudoers.${::fqdn}",
|
||||
'puppet:///secrets/sudoers' ],
|
||||
mode => '0440',
|
||||
owner => 'root',
|
||||
group => 0,
|
||||
require => Package['sudo'],
|
||||
}
|
||||
if $::operatingsystem == 'FreeBSD' {
|
||||
File['/etc/sudoers'] {
|
||||
path => '/usr/local/etc/sudoers',
|
||||
source => [ "puppet:///secrets/sudoers.${::fqdn}",
|
||||
'puppet:///secrets/sudoers.FreeBSD' ],
|
||||
}
|
||||
class sudo(
|
||||
$deploy_sudoers = false
|
||||
) {
|
||||
case $::kernel {
|
||||
linux: { include sudo::linux }
|
||||
freebsd: { include sudo::freebsd }
|
||||
default: { include sudo::base }
|
||||
}
|
||||
}
|
||||
|
|
11
manifests/linux.pp
Normal file
11
manifests/linux.pp
Normal file
|
@ -0,0 +1,11 @@
|
|||
class sudo::linux inherits sudo::base {
|
||||
package{'sudo':
|
||||
ensure => installed,
|
||||
}
|
||||
|
||||
if $sudo_deploy_sudoers {
|
||||
File['/etc/sudoers']{
|
||||
require => Package['sudo'],
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue