Gestión de usuarios
Para la creación de usuarios y asignación de permisos es necesario instalar los siguientes módulos.
puppet module install saz-sudo
puppet module install puppetlabs-accounts
En el fichero site.pp de su environment (ej Producción)
nano /etc/puppetlabs/code/environments/production/manifests/site.pp
Añada el siguiente contenido
node default {
# ... otras cosas ...
# Introducir al usuario como sudoer, se puede indicar un grupo
class { 'sudo': }
sudo::conf { 'admins':
content => "admins ALL=(ALL) NOPASSWD: ALL",
}
# Crear grupo
group{ 'admins':
ensure => present,
gid => '4000',
}
# Crear usuario
accounts::user { 'login_usuario':
ensure => 'present',
comment => 'Guille Rodriguez',
shell => '/bin/bash',
password => '!!',
locked => false,
uid => '5001',
gid => '5001',
groups => [
'admins',
],
purge_sshkeys => true,
sshkeys => [
'ssh-rsa rsa1',
'ssh-rsa rsa2',
]
}
}
Parámetros
Con estos parámetros podemos llegar a gestionar los diferentes usuarios en el entorno. Si un nuevo usuario llega, se le puede crear un usuario y desplegar la clave RSA en todas las máquinas.
Si el usuario cambia su clave RSA o tiene una nueva, se le puede cambiar de forma sencilla y automatizada en todo el entorno.
Si finalmente un usuario se va de la empresa, podemos bloquear su usuario, quitarle las rsa o directamente borrarlo.
ensure
Puede tener como parámetros
- Present: Comprueba si el usuario está creado, si no lo está, lo crea.
- Absent: Comprueba si el usuario está creado, si lo está, lo borra.
password
Si queremos que el usuario tenga una contraseña, pero lo ideal es que el usuario acceda solo mediante RSA.
locked
Si queremos bloquear el acceso de un usuario temporalmente, sin llegar a borrarlo.
groups
Lista de grupos a los que se añadirá el usuario
sshkeys
Las diferentes claves RSA con las que se podrá acceder al usuario.
purge_sshkeys
Se encarga de comprobar que para dicho usuario, solo están las RSA que se han indicado en el fichero, cualquier RSA no gestionada por Puppet será borrada.