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 {
|
# manifests/init.pp - manage sudo stuff
|
||||||
package { 'sudo': ensure => installed, }
|
# Copyright (C) 2007 admin@immerda.ch
|
||||||
|
# GPLv3
|
||||||
|
|
||||||
file { '/etc/sudoers':
|
class sudo(
|
||||||
source => ["puppet:///secrets/sudoers.${::fqdn}",
|
$deploy_sudoers = false
|
||||||
'puppet:///secrets/sudoers' ],
|
) {
|
||||||
mode => '0440',
|
case $::kernel {
|
||||||
owner => 'root',
|
linux: { include sudo::linux }
|
||||||
group => 0,
|
freebsd: { include sudo::freebsd }
|
||||||
require => Package['sudo'],
|
default: { include sudo::base }
|
||||||
}
|
|
||||||
if $::operatingsystem == 'FreeBSD' {
|
|
||||||
File['/etc/sudoers'] {
|
|
||||||
path => '/usr/local/etc/sudoers',
|
|
||||||
source => [ "puppet:///secrets/sudoers.${::fqdn}",
|
|
||||||
'puppet:///secrets/sudoers.FreeBSD' ],
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
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