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.

Acerca del proyecto

Creates users and groups for Linux

Instalar
ansible-galaxy install socketwench.users-and-groups
Licencia
gpl-3.0
Descargas
334
Propietario