How to Add a User to a Group in Linux?

Learn via video courses
Topics Covered

Overview

In the Linux operating system, user groups are crucial in managing permissions and access control. Groups allow administrators to categorize users based on their roles or responsibilities, making it easier to grant or restrict access to various resources. Adding a user to a group in Linux is a fundamental task that ensures users have the necessary permissions to perform specific actions.

This article provides a step-by-step guide on how to add a user to a group in Linux, view group assignments, add a user to multiple groups in one command, change a user's primary group, and view all groups on a Linux system.

Introduction to Linux Groups

In Linux, groups are used to organize users with similar roles or permissions. Each user account belongs to at least one primary group and can be assigned to multiple supplementary groups. Groups are identified by their unique group ID (GID) and have associated permissions for files, directories, and other system resources. This article will ensure that we will learn "how to add a user to a group in Linux".

Before we start to elaborate on the steps required to fulfill the need of this article, we must note two important aspects. The steps that we need to perform on a Linux system require administrative privileges. Hence, we need to use the sudo command and we also have to keep the root password handy while executing the commands on a Linux system. This will ensure that all the commands will run smoothly without generating any errors and provide the desired results.

Adding a New Group

To add a new group in Linux, follow the below-mentioned steps.

Step - 1:
The groupadd command is used to create a new group in Linux. The syntax used is mentioned below:

Replace [options] with any additional options you want to specify (optional) and group_name with the desired name of the new group.

Step - 2:
Choose a descriptive and meaningful name for the new group. For example, if we want to create a group called "developers", we need to run the below-mentioned command.

The groupadd command will create a new group with a unique Group ID (GID) and add it to the system's group database.

Step - 3:
To ensure the group was successfully created, you can list the contents of the /etc/group file. This file contains information about all the groups on the system. Use the below-mentioned command to view the file.

The output will display a list of groups, including the newly added group, along with their GIDs and any users assigned to them.

Add an Existing User Account to a Group

To add an existing user account to a group in Linux, follow the below-mentioned steps.

Step - 1:
We need to use the usermod Command. The usermod command is used to modify user account properties in Linux. The syntax for adding a user to a group is mentioned below.

Replace group_name with the name of the group we want to add the user to, and user_account with the existing username.

As an example,

The -aG option ensures that the user is added to the specified group without affecting their existing group memberships.

Step - 2:
Then to verify that the user has been added to the group successfully, we can use the group's command. This command displays the groups to which a specific user belongs.

Run the below-mentioned command to verify.

Replace user_account with the username of the user added to the group. The output will display a list of groups, including the newly added group.

Viewing the Groups Assigned to a User Account

To view the groups assigned to a user account in Linux, follow the below-mentioned steps.

Step - 1:
We need to use the groups Command. The group's command is used to display the groups to which a user account belongs. Its syntax is mentioned below.

Replace user_account with the username of the user account for which we want to view the assigned groups.

Step - 2:
To view the groups, enter the below-mentioned command in the terminal.

Replace user_account with the username of the user account we want to check.

The output will display a list of groups to which the specified user account belongs. Each group name will be separated by spaces.

How to Add an Existing User to Multiple Groups in One Command?

Step - 1:
We need to use the usermod Command here. The usermod command is used to modify user account properties in Linux. To add an existing user account to multiple groups, use the -aG option followed by a comma-separated list of group names. The syntax is mentioned below.

Replace group1, group2, and group3 with the names of the groups we want to add the user to, separated by commas. Replace user_account with the username of the existing user.

Step - 2:
Now we need to choose the groups to which we want to add the user, and specify the existing username for the user account. As an example, to add the user "tom" to the "developers" and "testers" groups in a single command, we would run the below-mentioned command.

The -aG option ensures that the user is added to the specified groups while preserving their existing group memberships.

Step - 3:
Now, we need to verify the group addition. We will use the groups command to verify that the user has been added to the groups successfully. This command displays the groups to which a specific user belongs. Run the below-mentioned command for verifying.

Replace user_account with the username of the user we added to the groups. The output will display a list of groups, including the newly added groups.

How to Change a User's Primary Group?

Step - 1:
We will use the usermod Command. The usermod command is used to modify user account properties in Linux. To change the user's primary group, use the -g option followed by the new primary group name. The syntax is as it's mentioned below.

Replace new_primary_group with the name of the desired primary group. Replace user_account with the username of the user for whom you want to change the primary group.

Step - 2:
Here, we need to specify the new primary group and the user Account. Choose the new primary group to which we want to assign the user, and determine the existing username for the user account. For example, to set the primary group of the user "tom" to "developers," we would run the below-mentioned command.

The -g option ensures that the user's primary group is updated to the specified group.

Step - 3:
After this is done, we need to verify the primary group change. To verify that the user's primary group has been changed successfully, we will use the id command. This command displays user and group information. Run the below-mentioned command.

Replace user_account with the username of the user whose primary group we have changed. The output will display the user's UID (user ID), GID (group ID), and the new primary group name.

View All Groups on the System

Step - 1:
Here we will use the cat Command. The /etc/group file contains information about all the groups on the system. To view the contents of this file, use the cat command. We need to enter the below-mentioned command in the terminal.

The cat command displays the contents of a file, and /etc/group is the path to the group file.

Step - 2:
To view the groups, after running the command, the terminal will display the contents of the /etc/group file. Each line represents a different group on the system and contains information such as the group name, group ID (GID), and a list of users assigned to the group. The output will look similar to the below-mentioned example.

Each line represents a different group, with the format

Step - 3:
Now, we need to review the output. Each line corresponds to a specific group, providing the group name, GID, and associated users. This information can help manage user permissions and determine the appropriate group assignments for users.

Conclusion

  • This article is about how to add a user to a group in Linux.
  • Managing user groups in Linux is an essential aspect of access control and security.
  • By adding users to specific groups, administrators can grant or restrict access to files, directories, and system resources.
  • This article provided a comprehensive guide on adding users to groups, viewing group assignments, adding users to multiple groups in one command, changing a user's primary group, and viewing all groups on a Linux system.
  • By following these instructions, Linux system administrators can effectively manage user permissions.