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:
parent
f2aa56f792
commit
a8b9f0aef9
28
modules/user/manifests/virtual/disable.pp
Normal file
28
modules/user/manifests/virtual/disable.pp
Normal 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}",
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user