Sunday, July 13, 2008

Howto: Linux Add User To Group

Q. How can I add a user to a group under Linux operating system?

A. You can use useradd or usermod commands to add a user to a group. useradd command creates a new user or update default new user information. 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

Use 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. Syntax:

useradd -G {group-name} username

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 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 following command:

# useradd -g developers tony

# id tony

uid=1123(tony) gid=1124(developers) groups=1124(developers)
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 tony 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 tonyChange existing user tony primary group to www:

# usermod -g www tony

3 comments:

Anonymous said...

Thanks for writing this.

Anonymous said...

Hi!!! video-linux.blogspot.com is one of the most excellent innovative websites of its kind. I take advantage of reading it every day. Keep it that way.

Anonymous said...

Great Site. Was added to mybookmarks. Greetings From USA.