How to remove a user account with Ansible?
I'm going to show you a live Playbook with some simple Ansible code.
I'm Luca Berton and welcome to today's episode of Ansible Pilot.
Ansible remove user account
Today we're talking about the Ansible module user.
The full name is ansible.builtin.user, which means that is part of the collection of modules "builtin" with ansible and shipped with it.
It's a module pretty stable and out for years, it manages user accounts.
It supports a huge variety of Linux distributions, SunOS and macOS, and FreeBSD.
This module uses Linux distributions userdel to delete, on FreeBSD, this module uses pw userdel, on macOS, this module uses dscl.
For Windows, use the ansible.windows.win_user module instead.
Main Parameters
- name _string_ - username
- state _string_ - present/absent
- remove _boolean_ - no/yes
This module has many parameters to perform any task.
The only required is "name", which is the username.
"state" allows us to create or delete a user, in the use case we need to specify "absent" to delete a user.
If we would like to try to remove the directories associated with the user, we need to set the parameter "remove".
The behavior is the same as userdel --remove.
Files in the user's home directory will be removed along with the home directory itself and the user's mail spool.
Files in other parts of the file system will have to be searched for and deleted manually.
## Playbook
Let's jump into a real-life Ansible Playbook to delete a user.
- _delete_user.yml_
``yaml
---
- name: user module Playbook
hosts: all
become: true
tasks:
- name: user example not present
ansible.builtin.user:
name: example
state: "absent"
remove: true
``
[code with ❤️ in GitHub](https://github.com/lucab85/ansible-pilot/tree/master/delete%20user%20account)
Conclusion
Now you know how to remove a user account with Ansible.