sansible.users_and_groups

Usuarios y Roles

Master: Estado de Construcción
Desarrollo: Estado de Construcción

Este rol gestiona usuarios y grupos de sistema operativo.

Instalación y Dependencias

Este rol no tiene dependencias.

Para instalar, ejecuta ansible-galaxy install sansible.users_and_groups o agrega esto a tu roles.yml

- name: sansible.users_and_groups
  version: v2.0

y ejecuta ansible-galaxy install -p ./roles -r roles.yml

Etiquetas

Este rol usa dos etiquetas: build y maintain

  • build - Asegura que los grupos y usuarios especificados estén presentes.
  • maintain - Asegura que los usuarios en una instancia ya construida y configurada estén presentes.

Ejemplos

Ejemplo simple para crear dos usuarios y dos grupos.

- name: Configurar Acceso de Usuario
  hosts: sandbox

  roles:
    - name: sansible.users_and_groups
      sansible_users_and_groups_groups:
        - name: lorem
          system: yes
        - name: ipsum
      sansible_users_and_groups_users:
        - name: lorem.ipsum
          groups:
            - ipsum
            - lorem
          ssh_key: ./lorem.ipsum.pub
        - name: dolor.ament
          groups:
            - ipsum

Creando un usuario SFTP encerrado
(cf aquí para una guía paso a paso):

- name: Configurar Acceso de Usuario
  hosts: sandbox

  roles:
    - name: sansible.users_and_groups
      sansible_users_and_groups_authorized_keys_dir: /etc/ssh/authorized_keys
      sansible_users_and_groups_groups:
        - name: sftp_only
      sansible_users_and_groups_users:
        - name: sftp
          group: sftp_only
          home: /mnt/sftp_vol

En la mayoría de los casos, mantendrías la lista de usuarios en un archivo de variables externo o en un archivo de variables de grupo/anfitrión.

- name: Configurar Acceso de Usuario
  hosts: sandbox

  vars_files:
    - "vars/sandbox/users.yml"

  roles:
    - name: sansible.users_and_groups
      sansible_users_and_groups_groups: "{{ base_image.os_groups }}"
      sansible_users_and_groups_users: "{{ base_image.admins }}"

    - name: sansible.users_and_groups
      sansible_users_and_groups_users: "{{ developers }}"

Agregar grupo seleccionado a sudoers

- name: Configurar Acceso de Usuario
  hosts: sandbox

  vars_files:
    - "vars/sandbox/users.yml"

  roles:
    - name: sansible.users_and_groups
      sansible_users_and_groups_groups: "{{ base_image.os_groups }}"
      sansible_users_and_groups_users: "{{ base_image.admins }}"

    - name: sansible.users_and_groups
      sansible_users_and_groups_users: "{{ developers }}"

    - name: sansible.users_and_groups
      sansible_users_and_groups_sudoers:
        - name: wheel
          user: "%wheel"
          runas: "ALL=(ALL)"
          commands: "NOPASSWD: ALL"

Usa la opción de grupos en la lista blanca para permitir usuarios de manera contextual.

Archivo de variables con usuarios:

---

# vars/users.yml

sansible_users_and_groups_groups:
  - name: admins
  - name: developer_group_alpha
  - name: developer_group_beta
sansible_users_and_groups_users:
  - name: admin.user
    group: admins
  - name: alpha.user
    group: alpha_develops
  - name: beta.user
    group: developer_group_beta

En una imagen base:

---

# playbooks/base_image.yml

- name: Imagen Base
  hosts: "{{ hosts }}"

  vars_files:
    - vars/users.yml

  roles:
    - role: sansible.users_and_groups
      sansible_users_and_groups_whitelist_groups:
        - admins

    - role: base_image

En un rol de servicio:

---

# playbooks/alpha_service.yml

- name: Servicio Alpha
  hosts: "{{ hosts }}"

  vars_files:
    - vars/users.yml

  roles:
    - role: sansible.users_and_groups
      sansible_users_and_groups_whitelist_groups:
        - admins
        - developer_group_alpha

    - role: alpha_service
Acerca del proyecto

Users and Groups Management Made Simple

Instalar
ansible-galaxy install sansible.users_and_groups
Licencia
mit
Descargas
59.2k
Propietario
See https://github.com/sansible/sansible for more information