
Acabo de empezar a aprender Puppet y me encontré con un problema que me preguntaba si alguien sabía cómo solucionarlo. Estoy intentando eliminar a un usuario y aparece un mensaje de error que indica que ha iniciado sesión y que no se puede eliminar.
Ahora, en este caso, sé en qué servidor ha iniciado sesión, por lo que simplemente podría cerrar la sesión del usuario y continuar desde allí. Mi pregunta es, sin embargo, ¿qué hace cuando no sabe en qué servidores ha iniciado sesión? Teniendo en cuenta que podrían ser muchos servidores.
¿Existe una opción de eliminación forzada o una forma de cerrar la sesión de los usuarios en Puppet?
Código a continuación:
user {'art':
ensure => absent,
}
Errores:
Error: No se pudo eliminar el arte del usuario: la ejecución de '/usr/sbin/userdel art' devolvió 8: userdel: el arte del usuario está conectado actualmente
Error: /Stage[main]/Main/Node[demo]/User[art]/ensure: falló el cambio de presente a ausente: no se pudo eliminar el arte del usuario: la ejecución de '/usr/sbin/userdel art' devolvió 8: userdel : el usuario art está actualmente conectado
Respuesta1
Podría crear un recurso ejecutivo que finalice todos los procesos propiedad del usuario.
Se vería algo como:
exec {'kill-art':
command => 'pkill -u art',
onlyif => 'pgrep -u art',
}
user {'art':
ensure => absent,
require => Exec['kill-art'],
}