====== 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: - Primary user group. - Secondary or supplementary user group. All user account related information are stored in the following files: - /etc/passwd - Contains one line for each user account. - /etc/shadow - Contains the password information in encrypted formatfor the system's accounts and optional account aging information. - /etc/group - Defines the groups on the system. - /etc/default/useradd - This file contains a value for the default group, if none is specified by the useradd command. - /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