resist-vpn-infra/playbooks/remove_user.yml
2026-01-26 21:22:41 -05:00

51 lines
1.4 KiB
YAML

---
# Remove User Playbook
# Remove admin user and optionally delete SSH keys
- name: Remove Admin User
hosts: all
become: yes
gather_facts: yes
vars_prompt:
- name: remove_username
prompt: "Enter username to remove"
private: no
- name: remove_home
prompt: "Remove home directory? (yes/no)"
private: no
default: "yes"
- name: delete_ssh_keys
prompt: "Delete SSH keys from control node? (yes/no)"
private: no
default: "no"
tasks:
- name: Remove user account
ansible.builtin.user:
name: "{{ remove_username }}"
state: absent
remove: "{{ remove_home | bool }}"
- name: Delete SSH keys from control node
ansible.builtin.file:
path: "{{ ssh_keys_local_dir }}/{{ inventory_hostname }}/{{ remove_username }}_id_ed25519{{ item }}"
state: absent
loop:
- ""
- ".pub"
delegate_to: localhost
when: delete_ssh_keys | bool
- name: Display success message
ansible.builtin.debug:
msg:
- "========================================="
- "User {{ remove_username }} removed successfully!"
- "========================================="
- "Home directory: {{ 'REMOVED' if remove_home | bool else 'KEPT' }}"
- "SSH keys: {{ 'DELETED' if delete_ssh_keys | bool else 'KEPT' }}"
- "========================================="