Extend user module, add 'disable user'

This patch adds the user::virtual::disable function to the user module.
This will allow puppet to remove a user, ssh keys, and screen sessions
while preserving the user home directory.

This patch adds future functionality without impacting the currently
configured infrastructure.

Change-Id: I2933e6857094398f86c2a7e6eaabe9898a1d3078
This commit is contained in:
Aaron Greengrass 2014-01-23 11:50:13 -08:00
parent e47c09dbd8
commit ac00daa653
1 changed files with 28 additions and 0 deletions

View File

@ -0,0 +1,28 @@
# used to remove a user
# example:
# user::virtual::disable { 'baduser': }
define user::virtual::disable(
) {
$username = $title
#1. Remove user
exec { "disable_${username}":
command => "userdel ${username}",
onlyif => "grep ^${username}: /etc/passwd",
}
#2. remove sshkeys file(s)
file { "rm_authorized_keys_${username}":
ensure => absent,
path => "/home/${username}/.ssh/authorized_keys",
}
file { "rm_authorized_keys2_${username}":
ensure => absent,
path => "/home/${username}/.ssh/authorized_keys2",
}
#3. rm screen dir (just in case)
exec { "rm_screen_${username}":
command => "rm -rf /var/run/screen/S-${username}",
onlyif => "ls /var/run/screen/S-${username}",
}
}