CodeGym /Courses /Docker SELF /Managing Groups: Creating, Adding, and Deleting Users fro...

Managing Groups: Creating, Adding, and Deleting Users from Groups (`groupadd`, `usermod -aG`, `groups`)

Docker SELF
Level 2 , Lesson 2
Available

Managing Groups: Creating, Adding, and Deleting Users from Groups groupadd, usermod -aG, groups

1. Introduction to Groups in Linux

Groups in the Linux operating system allow you to organize users based on interests, responsibilities, or other criteria and assign them shared access rights. Today, we'll go through how to work with groups, add users to them, and manage all this properly. Ready? Then, let's dive in!

Let's start with a real-life analogy. Imagine you're playing an online game where there are guilds. Each guild has its own members, and they have access to shared resources: storage, chat, and strategy rooms. In Linux, groups serve the same purpose. Groups enable you to:

  1. Streamline access management to files and resources for multiple users at once.
  2. Divide users into teams based on their role or task.
  3. Minimize headaches for the system administrator.

When the system checks if a user can access a file, it looks at three levels of permissions: the file owner, the group, and others. If the user belongs to the group specified for the file, and the group has permissions to access, then the user is happy, and the admin is relieved.


2. Basic Commands for Group Management

Linux offers several simple but powerful tools to work with groups: groupadd, usermod, groups, groupdel, and gpasswd. We'll go through them step by step.

1. Creating New Groups with groupadd

Making a new group in the system is super easy. You use the groupadd command for that. For example, if we want to create a group named developers, just do this:

sudo groupadd developers

And that's it! The group is created. To make sure it actually exists, you can check the /etc/group file — it's like the contact list for all groups in the system:

cat /etc/group | grep developers

You’ll see a line like this:

developers:x:1001:

Here's what it means:

  • developers — the group name.
  • x — the password field (usually unused).
  • 1001 — this is the unique Group ID (GID).
  • The empty space after the second colon — this is where the group's users are listed.
A little joke to lighten up:

If GID is the group's phone number, then /etc/group is its phone book.


2. Adding a User to a Group with usermod -aG

Now let's "hire" some developers into our new developers group. Use the usermod command with the -aG option. For example, to add the user john:

sudo usermod -aG developers john

Here's the key to remember:

  • The -a flag means append (add). If you skip it, you'll accidentally remove the user from all other groups except the one you specify.
  • The -G flag specifies the group to add the user to.

To check which groups a user belongs to, you can use the groups command:

groups john

Or get a bit more detailed with the id command:

id john

The output will look something like this:

uid=1002(john) gid=1002(john) groups=1002(john),1001(developers)

3. Removing a User from a Group

When one of your "developers" decides to switch careers and become a barista, you'll need to remove them from the group. Use the gpasswd command for that:

sudo gpasswd -d john developers

After this, the user john will no longer be part of the developers group. Don't forget to check with groups john to make sure they're officially out.


4. Deleting Groups with groupdel

If a group is no longer needed, you can delete it using the groupdel command. For example:

sudo groupdel developers
Heads up!

If there are still users in the group, they won't be affected. They just won't be able to reference the group anymore.


3. Practical Task

Let's try creating and setting up groups in practice, like real admins.

Scenario:

  1. Create a group designers.
  2. Create two new users: alice and bob.
  3. Add these users to the group designers.
  4. Verify that the users are actually added to the group.
  5. Remove the user alice from the group designers.

Solution:

Step 1. Create a group

sudo groupadd designers

Step 2. Create users

sudo adduser alice
sudo adduser bob

Step 3. Add users to the group

sudo usermod -aG designers alice
sudo usermod -aG designers bob

Step 4. Check the addition

groups alice
groups bob

Step 5. Remove alice from the group

sudo gpasswd -d alice designers

4. Features and Common Mistakes

Working with groups is like dealing with kittens: it all seems easy and simple, but once you look away, chaos ensues:

  1. Option -aG. Forget to add -a, and you’ll accidentally remove the user from all groups except the new one. This is especially "fun" if that user was part of a system group like sudo.

  2. Changes take effect after re-login. If a user doesn’t see the new group immediately after being added—don’t freak out! They'll need to log out and back in to get the new permissions.

  3. Follow naming conventions. Don’t use spaces or special characters in group names. Names like awesome@group work poorly and make admins suffer.

  4. Check access permissions. Created the group and added users? Great, but if the files don’t have the necessary group permissions, you’ve just set users up for disappointment. Make it a rule: permissions are checked and assigned separately.

In Real Life

In real-world projects, group management is used to:

  • Divide access rights to server resources for developers, testers, and admins.
  • Set up shared work directories for teams.
  • Manage access to databases, config files, scripts, and of course, the coffee machine (okay, fine, Linux can’t help us there just yet).

Now that you know how to create and manage groups in Linux, you’re ready for elegant and efficient system administration.

1
Task
Docker SELF, level 2, lesson 2
Locked
Creating a group
Creating a group
1
Task
Docker SELF, level 2, lesson 2
Locked
Adding a user to a group
Adding a user to a group
1
Task
Docker SELF, level 2, lesson 2
Locked
Working with multiple users
Working with multiple users
1
Task
Docker SELF, level 2, lesson 2
Locked
Removing a user from a group and working with groups
Removing a user from a group and working with groups
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION