AsavarTzeth.users

Estado de Construcción

Rol de Usuarios de Ansible - ansible-role-users

Rol de Ansible utilizado para gestionar usuarios, grupos, claves ssh autorizadas y sudo.

El formato de configuración de este rol está inspirado en gran medida por el formato utilizado con cloud-init/cloud config. El objetivo es usar la misma o similar estructura yaml siempre que sea posible, pero posiblemente extenderla donde tenga sentido.

Algunas pequeñas diferencias notables:

  • Cualquier carácter de guion se tuvo que reemplazar por un guion bajo; debido a cómo ansible interpreta los nombres de las variables.

Para más información sobre cloud-init, consulta la documentación de cloud-init en:
https://cloudinit.readthedocs.io/en/latest/index.html

Requisitos

Este rol fue desarrollado y probado en Ansible 2.2.0 y versiones superiores. Puede funcionar en versiones inferiores, pero eso no está soportado en este momento.

Variables del Rol

Lista de variables y valores predeterminados:

# La shell predeterminada del usuario, utilizada al crear un usuario.
users_default_shell: /bin/bash

# Define si el rol debe crear un grupo primario si no existe.
# Para evitar que el rol falle, esto se establece en verdadero por defecto.
# Desactiva esto si los grupos son gestionados en otro lugar.
users_create_primary_group: true

# Habilita la gestión de la escalación de privilegios usando sudo.
# Desactiva esto si no se utilizará sudo, o si se gestiona en otro lugar.
users_enable_sudo: true


# El único parámetro obligatorio es el nombre.
users:
  - name: ''                           # El nombre de usuario.
    gecos: ''                          # El campo de comentario, también conocido y utilizado para el nombre real del usuario.
    homedir: ''                        # El directorio personal del usuario.
    primary_group: ''                  # El grupo principal del usuario.
    groups: []                         # Una lista de grupos complementarios para el usuario.
    no_create_home: false              # Si es verdadero, no crear un directorio personal. Por defecto es verdadero si `system: true`.
    shell: "{{ users_default_shell }}" # La shell predeterminada del usuario.
    passwd: ''                         # Una contraseña hasheada y salada en SHA512.
    ssh_authorized_keys: []            # Una lista de claves públicas ssh para agregar al archivo authorized_keys.
    sudo: ''                           # La cadena de sudo que se usará para configurar sudo.
    system: false                      # Si es verdadero, el usuario será un usuario del sistema. Esto no afecta a los usuarios existentes.

Dependencias

Ninguna

Ejemplo de Playbook

Agregar o modificar un usuario y configurar sudo y claves ssh autorizadas:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users_default_shell: /bin/bash
      users_create_primary_group: true
      users_enable_sudo: true
      users:
        - name: foobar1
          gecos: Foo B. Bar
          primary_group: foobar1
          groups: ['users','wheel']
          shell: /bin/bash
          ssh_authorized_keys:
            - "ssh-rsa AAAAA.... foo@host"
            - "ssh-rsa AAAAB.... bar@host"
          sudo: ALL=(ALL) ALL

Agregar o modificar un usuario del sistema:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users:
        - name: foobar2
          gecos: Cuenta de Servicio FooBar
          homedir: /
          primary_group: foobar
          shell: /sbin/nologin
          system: true

Eliminar usuarios:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users_deleted:
        - name: foobar1
        - name: foobar2

Modificar la contraseña de un usuario:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users:
        - name: foobar1
          passwd: $6$mI3A2y4O.YfqhlPt$szsWfnICXsYLbsIghLauJG.I3enLYGDPBYO1DYTHn9gB6y3Q2faM7iqievJlU5ZMTT9X3wHrUv0c7HWkToGBp/

Licencia

BSD-2-Clause

Información del Autor

Patrik Nilsson

Instalar
ansible-galaxy install AsavarTzeth.users
Licencia
bsd-2-clause
Descargas
501
Propietario