users: implement user removal

This commit is contained in:
uumas
2023-05-08 12:23:13 +03:00
parent a2667fac33
commit f7dba5f511

View File

@@ -4,19 +4,31 @@
package: package:
name: sudo name: sudo
- name: Create users - name: Fail if removing the current user
fail:
msg: Refusing to delete the user used to run this play
when:
- item.name == ansible_user_id
- item.state is defined
- item.state == 'absent'
loop: "{{ users }}"
become: false
- name: Ensure users in correct state
user: user:
name: "{{ item.name }}" name: "{{ item.name }}"
password: "{{ item.password }}" password: "{{ item.password }}"
shell: "{{ item.shell | default('/bin/bash') }}" shell: "{{ item.shell | default('/bin/bash') }}"
groups: groups:
- sudo - sudo
state: "{{ item.state | default('present') }}"
loop: "{{ users }}" loop: "{{ users }}"
- name: Set ssh authorized keys for users - name: Set ssh authorized keys for users
authorized_key: authorized_key:
user: "{{ item.name }}" user: "{{ item.name }}"
key: "{{ item.ssh_pubkey }}" key: "{{ item.ssh_pubkey }}"
when: item.state | default('present') == 'present'
loop: "{{ users }}" loop: "{{ users }}"
- name: Disable login as root with ssh key - name: Disable login as root with ssh key