51 lines
1.4 KiB
YAML
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' }}"
|
|
- "========================================="
|