Changing the group a user is associated with is a really easy task, but not everybody knows the commands. Especially to add a user to a secondary group as well. We will walk through all the scenarios for you. In this article, we are going to talk about How to Add User to Group on Linux – Tutorial. Let’s begin!
User accounts can be assigned to one or more groups on Linux actually. You can also configure file permissions and other privileges by the group. Such as, on Ubuntu, only users in the sudo group can use the sudo
the command to gain elevated permissions.
Contents
- 1 Linux Groups
- 2 Add a New Group
- 3 Add an Existing User Account to a Group
- 4 Change a User Primary Group
- 5 View the Groups a User Account is Assigned To
- 6 Create a New User and Assign a Group in One Command
- 7 Add a User to Multiple Groups
- 8 View All Groups on the System
- 9 How to Remove a User From a Group
- 10 How to Delete a Group
- 11 Conclusion
Linux Groups
Linux groups are organization units that are used to organize and administer user accounts in Linux as well. The primary purpose of groups is to define a set of privileges actually. For example reading, writing, or executing permission for a given resource that can be shared between the users within the group.
There are actually two types of groups in Linux operating systems:
- The primary group – When a user creates a file, the file’s group is set to the user’s primary group actually. Mostly, the name of the group is the same as the name of the user. The information about the user’s primary group is actually stored in the
/etc/passwd
file. - Secondary or supplementary group – Useful when you want to grant many file permissions to a set of users who are members of the group. Such as, if you add a specific user to the
docker
group, then the user will inherit the access rights from the group, and also be able to run docker commands.
Each and every user can belong to exactly one primary group and zero or more secondary groups.
Note that only root or users with sudo
access can add a user to a group.
Add a New Group
If you want to create a new group on your system, then use the groupadd
command following command, replacing the new_group along with the name of the group you want to create. You will need to use sudo with this command as well. (Or, on Linux distributions that do not use sudo
, you will need to run the su
command on its own in order to gain elevated permissions before running the command).
sudo groupadd mynewgroup
Add an Existing User Account to a Group
If you want to add an existing user account to a group on your system, then use the usermod
command, replacing examplegroup
with the name of the group. That you want to add the user to andexampleusername
with the name of the user, you want to add as well.
usermod -a -G examplegroup exampleusername
Such as, to add the user geek
to the group sudo
, use the following command:
usermod -a -G sudo geek
Change a User Primary Group
While a user account can be part of multiple groups, one of the groups is always the “primary group” and the others are “secondary groups” actually. The user’s login process and files and folders the user creates will also be assigned to the primary group.
If you want to change the primary group a user is assigned to, then run the usermod
command, replacingexamplegroup
with the name of the group. That you want to be the primary and exampleusername
with the name of the user account.
usermod -g groupname username
Now note the -g
here. When you use a lowercase g, then you assign a primary group. When you use an uppercase -G
, as above, then you assign a new secondary group as well.
View the Groups a User Account is Assigned To
In order to view the groups the current user account is assigned to. You need to run the groups
command. You will then see a list of groups.
groups
To view the numerical IDs associated with each group, then run the id
command instead:
id
If you want to view the groups another user account is assigned to. Then run the groups
command and specfy the name of the user account.
groups exampleusername
You can also view the numerical IDs associated with each and every group by running the id
command and specifying a username.
id exampleusername
The first group in the groups
list or the group shown after “gid=” in the id
list is actually the user account’s primary group. The other groups are the secondary groups as well. So, in the screenshot below, the user account’s primary group is example
basically.
Create a New User and Assign a Group in One Command
You guys may sometimes want to create a new user account that has access to a particular resource or directory, such as a new FTP user. You can also specify the groups a user account will be assigned to when creating the user account with the useradd
command, like so:
useradd -G examplegroup exampleusername
Such as, to create a new user account named jsmith and also assign that account to the ftp group, you’d run:
useradd -G ftp jsmith
You’ll want to assign a password for that user afterward, obviuosly:
passwd jsmith
Add a User to Multiple Groups
When assigning the secondary groups to a user account. you can easily assign multiple groups all at once by separating the list with a comma.
usermod -a -G group1,group2,group3 exampleusername
Such as, to add the user named geek to the ftp, sudo, and example groups, that you’d run:
usermod -a -G ftp,sudo,example geek
You can specify as many groups as you like—just separate them all with a comma now.
View All Groups on the System
If you want to view a list of all of the groups on your system, then you can use the getent
command:
getent group
This output will also show you which user accounts are members of which groups actually. So, in the screenshot below, we can see that the accounts Syslog and Chris are members of the adm group as well.
That should cover everything you need to know about adding users to groups on Linux.
How to Remove a User From a Group
In order to remove a user from a group, you need to use the gpasswd
command wit the -d
option.
In the following example, we are now removing the user username
from the group groupname
:
sudo gpasswd -d username groupname
How to Delete a Group
In order to delete an existing group, use the groupdel
a command followed by the group name:
sudo groupdel groupname
Conclusion
Also See: Compariosn Between WPS Office vs LibreOffice [Office Suite For Linux]