--- # --- # - Remove unwanted users # --- - name: (nis_user.yml) Remove (old) users from system user: name: '{{ item.name }}' state: absent with_items: - "{{ remove_nis_users }}" loop_control: label: '{{ item.name }}' tags: - nis-user - system-user - name: (nis_user.yml) Remove home directory from deleted users file: path: '{{ nis_base_home }}/{{ item.name }}' state: absent with_items: - "{{ remove_nis_users }}" loop_control: label: '{{ item.name }}' tags: - nis-user - system-user # --- # - default user/groups # --- - name: (nis_user.yml) Ensure nis groups exists group: name: '{{ item.name }}' state: present gid: '{{ item.group_id | default(omit) }}' loop: "{{ nis_groups }}" loop_control: label: '{{ item.name }}' when: item.group_id is defined notify: Renew nis databases tags: - nis-user - system-user #- meta: end_host - name: (nis_user.yml) Check if nis (system) user exists shell: "getent passwd {{ item.name }}" register: nis_user_exists changed_when: "nis_user_exists.rc == 2" failed_when: "nis_user_exists.rc > 2" loop: "{{ nis_user }}" loop_control: label: '{{ item.name }}' ignore_errors: true tags: - nis-user - system-user - name: (nis_user.yml) Add nis (system) users shell: "/root/bin/admin-stuff/add_new_user.sh {{ item.name }} '{{ item.password }}'" loop: "{{ nis_user }}" loop_control: label: '{{ item.name }}' when: nis_user_exists is changed notify: Renew nis databases tags: - nis-user - system-user - name: (nis_user.yml) Ensure nis users exists user: name: '{{ item.name }}' state: present uid: '{{ item.user_id | default(omit) }}' #group: '{{ item.0.name | default(omit) }}' groups: "{{ item.groups|join(', ') }}" home: '{{ nis_base_home }}/{{ item.name }}' shell: '{{ item.shell|d("/bin/bash") }}' password: "{{ item.password | password_hash('sha512') }}" update_password: on_create append: yes loop: "{{ nis_user }}" loop_control: label: '{{ item.name }}' notify: Renew nis databases tags: - nis-user - system-user