How to add user to a Group?
Changing the groups a user belongs to is a fundamental, and basic task, but not everyone is aware of how to. We will be going through this with you in this tutorial.
Groups are organization units used by Linux, to organize and administer user accounts. The primary purpose of a group is to define privileges such as reading, writing, and executing permissions.
Groups are mainly of two types:
- Primary Group: When a file is created, the group specified in the
/etc/passwd file for the current user, is used as the owner group. Usually, it is a group of the same name as that of the user.
- Secondary Group: Useful when certain permissions are to be granted to set members of a group. For example, if a user is added to the
docker group, they will be able to execute
docker commands now.
Each user belongs to only one primary group, but many secondary groups.
Only root or users with
sudo access can edit the groups a user belongs to.
Adding an existing user to a Group
If we already have the user, and the group set up, and we want to add the user, we could use either of
gpasswd ( a safer option to avoid dangerous mistakes ). For example, we want to add the user
dakksh, to the group
docker, we would run
sudo usermod -a -G docker dakksh # -a represents append. Leaving out -a, will remove user from all other groups
sudo gpasswd -a dakksh docker # Add user to group docker
On success, there is no output, but an error message is displayed if the user or group does not exist.
Adding a user to multiple Groups
If we want to add a user to multiple groups, we provide a comma-separated list for the
-G flag in the
usermod command. Hence to add the user
dakksh, to groups
sambashare we run the following command
sudo usermod -a -G docker,sambashare dakksh
Removing a user from a Group
To remove a user from a group, we can run use the -d flag with the
gpasswd command. Hence to remove the user
dakksh from the group
docker, we run
sudo gpasswd -d dakksh docker
Create a new Group
To create a new group, we run
groupadd, in the following manner.
sudo groupadd groupName
Delete a Group
To delete a group, we run
groupdel, in the following manner
sudo groupdel groupName
Change primary group of a user
To change the
gid of a user, we use the
usermod command, with the
-g flag. The parameter passed to
-g flag can be either a group name or a GID. Hence, to change the default group of the current user to
sudo, we would do
sudo usermod -g sudo dakksh
Create a user and assign groups simultaneously
To create a user, we can use the
useradd command, but we can not only create a user using this command. We can assign groups, and even specify the primary group of a user with this command. For example, we want to create a user
vim assigned to the groups
sambashare, and having the primary group as
dakksh (GID 1000), we would run the following command.
sudo useradd -g 1000 -G sudo,docker,sambashare vim
List user groups
groups we can list the user groups, both primary and secondary.
id is run in the following format.
id [OPTIONS] [USER]
id command alone gives
Using the options parameter, with either of
-G, combined or separate gives
groups respectively in their numerical form.
-n flag, we get the names of the numerical ids returned by
id. To get groups of a specific user, we specify the username.
To get groups using the
groups command, the format is the following.
By default, if a user is not mentioned,
groups both use the current user.
We have seen how to add a user to a secondary group or modify their primary group using the
gpasswd, and the
Also covered is how to create a user and simultaneously assign groups, and how to list groups the user is a part of.