socketwench.users-and-groups
Rol de Ansible: Usuarios y Grupos
Crea usuarios y grupos para Linux Debian/Ubuntu.
Requisitos
Ninguno.
Variables del Rol
Las variables disponibles se listan a continuación, junto con sus valores predeterminados (ver defaults/main.yml
).
Para crear un usuario con todas las configuraciones predeterminadas, y cuyo grupo principal sea el mismo que su nombre de usuario:
server_users:
- name: "ash"
password: "imnotarobot"
Grupos
No hay una variable separada para grupos. En cambio, forman parte de la variable server_users
.
Para especificar el nombre del grupo principal y grupos alternativos:
server_users:
- name: "ash"
password: "imnotarobot"
group: "nombre_del_grupo_principal"
groups:
- "otro_grupo"
- "más_grupos_aquí"
Claves SSH
Por defecto, todos los usuarios creados por este rol tienen una nueva clave SSH generada:
server_users_ssh_key_generate: yes
server_users_ssh_key_bits: "4096"
También puedes anular esto para cada usuario:
server_users:
- name: "ash"
password: "imnotarobot"
ssh_key_generate: yes
ssh_key_bits: "4096"
Claves autorizadas de SSH
A veces, deseas también establecer las claves autorizadas para que las personas puedan iniciar sesión usando claves públicas en lugar de contraseñas. Para establecer eso para todos los usuarios:
server_users_auth_keys: "{{ contents_of_ssh_authorized_keys }}"
Donde el contenido de la variable es el mismo que los archivos ~/.ssh/authorized_keys
.
También puedes anular esto para cada usuario:
server_users:
- name: "ash"
password: "imnotarobot"
auth_keys: "{{ contents_of_ssh_authorized_keys }}"
Shell predeterminado
El shell predeterminado es bash. Puedes anular esto para todos los usuarios:
server_users_shell: "/bin/bash"
También puedes especificar un shell para un usuario en particular. Esto anula el valor predeterminado anterior:
server_users:
- name: "ash"
password: "imnotarobot"
shell: "/bin/zsh"
Por defecto, el rol no registra las acciones de las tareas por razones de seguridad. Para habilitar el registro:
server_users_no_log: true
Configuraciones de Ansible
Este rol también distribuye un archivo .ansible.cfg
al directorio de inicio de cada usuario. Esto te permite anular la configuración predeterminada de role_path y no_cows:
server_users_ansible_role_path: "~/.ansible/roles"
server_users_ansible_nocows: 1
server_users_ansible_log: false
server_users_ansible_log_path: '~/ansible.log'
Nuevamente, puedes hacer esto por usuario:
server_users:
- name: "ash"
password: "imnotarobot"
ansible_role_path: "/etc/ansible/roles"
ansible_nocows: 0
ansible_log: true
ansible_log_path: "/home/ash/logs/ansible.log"
Eliminación de usuarios
También puedes eliminar usuarios usando la variable state
:
server_users:
- name: "ash"
state: absent
Si deseas también eliminar su directorio de inicio, usa remove
:
server_users:
- name: "ash"
state: absent
remove: yes
Dependencias
Ninguna.
Ejemplo de Playbook
server_users:
- name: "ash"
password: "imnotarobot"
group: "wy"
groups:
- "scidiv"
- name: "kane"
password: "ihateeggs"
shell: "/bin/ksh"
ssh_key_generate: no
Licencia
GPL 3.0.
Información del Autor
Este rol fue creado en 2017 por socketwench.
ansible-galaxy install socketwench.users-and-groups