javiergayala.users
javiergayala.users
Este es un rol organizado que crea usuarios en servidores.
Variables del Rol
users_list
: lista que contiene diccionarios de usuarios a agregarname
: nombre de usuario a creargroups
: lista separada por comas de grupos secundarios. Por defecto, ninguno.ssh_key
: cadena de texto que contiene la clave pública ssh del usuario que se colocará en/home/$USER/.ssh/authorized_keys
sudoers
: si se establece enyes
, el usuario será agregado al archivo sudoers del servidor.sudo_opts
: diccionario que contiene opciones para usar en el archivo sudoers.passwordless
: (Booleano) por defecto es "False
". Establecer en "True
" permite que los comandossudo
no pidan una contraseña.hosts
: por defecto esALL
. Hosts en los que el usuario puede ejecutarsudo
.run_as
: por defecto es(ALL)
. Usuarios que pueden ejecutar comandos sudo.commands
: por defecto esALL
. Comandos que el usuario puede ejecutar consudo
.requiretty
: (Booleano) no establecido por defecto. Establecer enFalse
para desactivar el requisito de un TTY al usar sudo.
user_sshkey_exclusive
: por defecto esno
. Establecer enyes
le dice a ansible que administre las claves en el archivoauthorized_keys
, y elimina las que no están definidas en el play.use_os_prompt
: por defecto esno
. Establecer enyes
oTrue
hará que este usuario NO use el aviso de bash especializado. Esto es útil para cuentas de servicios, como la cuenta de desplieguejenkins
orswebteam
, o cualquier cuenta que no use unTTY
.
users_list:
- name: deployment
groups: apache
ssh_key: >
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGY
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
RdK8jlqm8tehUc9c9WhQ== clave pública insegura de vagrant
sudoers: "yes"
sudo_opts:
passwordless: "True"
hosts: "ALL"
run_as: "(ALL)"
commands: "ALL"
requiretty: "False"
use_os_prompt: "yes"
- name: user1
ssh_key: https://github.com/javiergayala.keys
sudoers: "no"
- name: user2
Ejemplo de Playbook
- hosts: servers
roles:
- { role: javiergayala.users, users_list: [{ name: user1 }] }
Pruebas
Necesitarás lo siguiente para probar y ejecutar este rol:
Se recomienda encarecidamente que uses un virtualenv para las pruebas:
PYENV_HOME=$WORKSPACE/.pyenv/
# Eliminar virtualenv previamente construido
if [ -d $PYENV_HOME ]; then
rm -rf $PYENV_HOME
fi
# Crear virtualenv e instalar paquetes necesarios
virtualenv --no-site-packages $PYENV_HOME
. $PYENV_HOME/bin/activate
pip install -r pip-requirements.txt
molecule test --all
Licencia
BSD
Información del Autor
Javier Ayala [email protected]
ansible-galaxy install javiergayala.users