How to create a group in Linux 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 creates a group
ansible.builtin.group
Add or remove groups
Today we’re talking about the Ansible module group.
The full name is ansible.builtin.group
, 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 adds or removes groups.
It supports a huge variety of Linux distributions and macOS.
It relies on three Linux commands: groupadd
, groupdel
and groupmod
.
For Windows, use the ansible.windows.win_group
module instead.
Parameters
name
string - group namestate
string - present/absentsystem
boolean - yes/nogid
integer - GID to set for the grouplocal
string - “local” command alternatives
This module has some parameters to perform some tasks.
The only required is “name
”, which is the group name.
The “state
” parameter allows us to create or delete a group, in our use case the default it’s already set to “present” to create a group.
The “system
” parameter allows for the creation of a system group, default it’s not.
You could specify the “GID”, the group identifier, in using the “gid
” parameter.
The “local
” parameter allows using the “local
” command alternatives on platforms that implement it if you have a central authentication system.
Playbook
Let’s jump in a real-life Ansible Playbook to create a group.
code
- create_group.yml
---
- name: group module Playbook
hosts: all
become: true
vars:
mygroup: "example"
tasks:
- name: create group
ansible.builtin.group:
name: "{{ mygroup }}"
state: present
execution
$ ansible-playbook group/create.yml
PLAY [group module Playbook] **************************************************************************
TASK [Gathering Facts] ****************************************************************************
ok: [demo.example.com]
TASK [create group] *******************************************************************************
changed: [demo.example.com]
PLAY RECAP ****************************************************************************************
demo.example.com : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
verification
$ ssh [email protected]
$ sudo su
# getent group | grep example
example:x:1001:
Conclusion
Now you know how to create a group in Linux with Ansible. Subscribe to the YouTube channel, Medium, and Website, X (formerly Twitter) to not miss the next episode of the Ansible Pilot.
Academy
Learn the Ansible automation technology with some real-life examples in my Udemy 300+ Lessons Video Course.
My book Ansible By Examples: 200+ Automation Examples For Linux and Windows System Administrator and DevOps
Donate
Want to keep this project going? Please donate