Adding User to Group
How to add a user to a group under Linux operating system? 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 use the useradd command to add new users to existing group (or create a new group and then add user). If the group does not exist, create it. The syntax is as follows:
useradd -G {group-name} username
In this example, create a new user called linux 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 linux to group developers:
# useradd -G developers linux
Setup password for user linux:
# passwd linux
Ensure that user added properly to group developers:
# id linux
Output:
uid=1122(linux) gid=1125(linux) groups=1125(linux),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 amadu to groups admins, ftp, www, and developers, enter:
# useradd -G admins,ftp,www,developers amadu
useradd example - Add a new user to primary group
To add a user moosa to group developers use following command:
# useradd -g developers moosa # id moosa
Sample outputs:
uid=1123(moosa) 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 moosa 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 moosa