Skip to main content

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 { 'login_usuario'admins':
		content  => "login_usuarioadmins 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', # Debe existir el grupo
			'staff',  # Debe existir el grupo 
		],
		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.