While the useradd command creates new users, the groupadd command in Linux creates new groups. It updates the /etc/group file accordingly.
There are not many options with groupadd and its syntax is pretty basic:
groupadd [options] group_name
Let’s see how to use groupadd command for creating groups in Linux.
Groupadd command examples
Please keep in mind that adding group is administrative task and hence you need to be root or have sudo rights. Read more about creating sudo user here.
1. Create a new group
To create a new group in Linux, you can use it in the following manner:
sudo groupadd new_group_name
You can verify that the new group has been created by checking the /etc/group file:
[email protected]:~$ sudo groupadd testing [email protected]:~$ grep testing /etc/group testing:x:1008:
What do you do with a group? You should have some users in it, right? You can add users to group using the usermod command. If you want to add multiple users to a group at the same time, you can use the gpasswd command like this:
sudo gpasswd -M user1,user2,user3 new_group_name
2. Create a group with specific group ID (gid)
By default, the new group gets created with a group id higher than the GID_MIN value defined in /etc/login.defs. On most Linux system, this value is 1000.
In other words, you get one of the first available GID after 1000.
But you are not restricted to that. You can create a group with a specific GID in this manner:
sudo groupadd new_group_namep -g GID
Here’s an example:
[email protected]:~$ sudo groupadd test_group -g 678 [email protected]:~$ grep test_group /etc/group test_group:x:678:
3. Create a new system group
When you create a new group, it’s a normal group with GID higher than 1000. You can also create a system group that automatically takes a group id between SYS_GID_MIN and SYS_GID_MAX as defined in /etc/login.defs.
sudo groupadd -r new_group_name
You can see in the example that the group id is less than 1000 and thus indicating that it is not a normal group but a system group (used for system programs).
[email protected]:~$ sudo groupadd -r tesla [sudo] password for abhishek: [email protected]:~$ grep tesla /etc/group tesla:x:998:
I hope you find this quick little tutorial helpful in using groupadd command. You may also checkout how to delete groups with groupdel command.
Any questions or suggestions are always welcomed.