User Tools

Site Tools


Sidebar

linux:linux_add_user_to_group

Add User to Group

How can I add a user to a group under Linux operating system using command line options? How to add an existing user into a group in Linux using command line options?

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 and it is useful to add user to existing groups. There are two types of groups under Linux operating systems:

  1. Primary user group.
  2. Secondary or supplementary user group.

All user account related information are stored in the following files:

  1. /etc/passwd - Contains one line for each user account.
  2. /etc/shadow - Contains the password information in encrypted formatfor the system's accounts and optional account aging information.
  3. /etc/group - Defines the groups on the system.
  4. /etc/default/useradd - This file contains a value for the default group, if none is specified by the useradd command.
  5. /etc/login.defs - This file defines the site-specific configuration for the shadow password suite stored in /etc/shadow file.

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 vivek and add it to group called developers. First login as a root user (make sure group developers exists), enter: # grep developers /etc/group

Output:

developers:x:1124:

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

# groupadd developers

Next, add a user called vivek to group developers:

# useradd -G developers vivek

Setup password for user vivek:

# passwd vivek

Ensure that user added properly to group developers:

# id vivek

Output:

uid=1122(vivek) gid=1125(vivek) groups=1125(vivek),1124(developers)

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 jerry to groups admins, ftp, www, and developers, enter:

# useradd -G admins,ftp,www,developers jerry

useradd example - Add a new user to primary group

To add a user tony to group developers use the following command:

# useradd -g developers tony
# id tony

Sample outputs:

uid=1123(tony) gid=1124(developers) groups=1124(developers)

Please note that small g (-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 tony to ftp supplementary/secondary group with the usermod command using the -a option ~ i.e. add the user to the supplemental group(s). Use only with -G option:

# usermod -a -G ftp tony

In this example, change tony user's primary group to www, enter:

# usermod -g www tony
linux/linux_add_user_to_group.txt · Last modified: 2016/02/16 10:05 (external edit)