How to Add User To Group in Linux

You can use the useradd or usermod commands to add a user to a group. The useradd command creates a new user or update default new user information. The usermod command modifies a user account i.e. it is useful to add user to existing group. There are two types of group. First is primary user group and other is secondary group. All user account related information is stored in /etc/passwd, /etc/shadow and /etc/group files to store user information.

useradd Example – Add A New User To Secondary Group

You need to the useradd command to add new users to existing group (or create a new group and then add user). If group does not exist, create it. The syntax is as follows:

useradd -G {group-name} username

In this example, create a new user called neo and add it to group called matrix. First login as a root user (make sure group matrix exists), enter:

grep matrix /etc/groupOutput:


If you do not see any output then you need to add group matrix using groupadd command:

groupadd matrix

Next, add a user called neo to group matrix:

useradd -G matrix neo

Setup password for user neo:

passwd neo

Ensure that user added properly to group matrix:

id neo


uid=1122(neo) gid=1125(neo) groups=1125(neo),1124(matrix)

Please note that capital G (-G) option add user to a list of supplementary groups. Each group is separated from the next by a comma, with no intervening whitespace. For example, add user mory to groups ftp, www, and matrix, enter:

useradd -G ftp,www,matrix mory

useradd example – Add a new user to primary group

To add a user morteza to group matrix use following command:

useradd -g matrix morteza

id morteza

Sample outputs:

uid=1123(morteza) gid=1124(matrix) groups=1124(matrix)

Please note that small -g option add user to initial login group (primary group). The group name must exist. A group number must refer to an already existing group.

usermod example – Add a existing user to existing group

Add existing user morteza to ftp supplementary/secondary group with usermod command using -a option ~ i.e. add the user to the supplemental group(s). Use only with -G option :

usermod -a -G ftp morteza

Change existing user morteza primary group to www:

usermod -g www morteza