Remove user account — Ansible module user

How to remove an example user removing home directory and spool files.

Ansible Pilot
3 min readSep 9, 2021

--

How to remove a user account with Ansible?

I’m going to show you a live demo 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.

demo

Let’s jump into a real-life Ansible Playbook to delete a user.

  • delete_user.yml
---
- name: user module…

--

--

Ansible Pilot

I help creative Automation DevOps, Cloud Engineer, System Administrator, and IT Professional to succeed with Ansible Technology to automate more things everyday