Puppet Class: system_users::homedir
- Defined in:
- manifests/homedir.pp
Overview
System_users::Homedir
Check and fix common gotchas in user homedirs on this system:
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'manifests/homedir.pp', line 5
class system_users::homedir(
$mode = unset,
) {
$homedirs = dig($facts, 'user_audit', 'homedirs')
if $homedirs {
# skip system uids as these users often share vital system directories
# between themselves such as /sbin, /, /var/lib, etc...
$homedirs.filter |$user, $hash| {
! $user in $facts['user_audit']['system_uids'] and
$user != "root" and
! (
$hash['path'] =~ /^\/bin/ or
$hash['path'] =~ /^\/boot/ or
$hash['path'] =~ /^\/dev/ or
$hash['path'] =~ /^\/etc/ or
$hash['path'] =~ /^\/lib/ or
$hash['path'] =~ /^\/media/ or
$hash['path'] =~ /^\/mnt/ or
$hash['path'] =~ /^\/opt/ or
$hash['path'] =~ /^\/proc/ or
$hash['path'] =~ /^\/run/ or
$hash['path'] =~ /^\/sbin/ or
$hash['path'] =~ /^\/srv/ or
$hash['path'] =~ /^\/sys/ or
$hash['path'] =~ /^\/tmp/ or
$hash['path'] =~ /^\/usr/ or
$hash['path'] =~ /^\/var/
)
}.each |$user, $hash| {
file { $hash['path']:
ensure => directory,
owner => $user,
mode => $mode,
}
}
}
}
|