Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.5. Managing Groups via Command-Line Tools

Groups are a useful tool for permitting co-operation between different users. There is a set of commands for operating with groups such as groupadd, groupmod, groupdel, or gpasswd. The files affected include /etc/group which stores group account information and /etc/gshadow, which stores secure group account information.

3.5.1. Creating Groups

To add a new group to the system with default settings, the groupadd command is run at the shell prompt as root.
groupadd group_name

Example 3.18. Creating a Group with Default Settings

~]# groupadd friends
The groupadd command creates a new group called friends. You can read more information about the group from the newly-created line in the /etc/group file:
classmates:x:30005:
Automatically, the group friends is attached with a unique GID (group ID) of 30005 and is not attached with any users. Optionally, you can set a password for a group by running gpasswd groupname.
Alternatively, you can add command options with specific settings.
groupadd option(s) groupname
If you, for example, want to specify the numerical value of the group's ID (GID) when creating the group, run the groupadd command with the -g option. Remember that this value must be unique (unless the -o option is used) and the value must be non-negative.
groupadd -g GID

Example 3.19. Creating a Group with Specified GID

The command below creates a group named schoolmates and sets GID of 60002 for it:
~]# groupadd -g 60002 schoolmates
When used with -g and GID already exists, groupadd refuses to create another group with existing GID. As a workaround, use the -f option, with which groupadd creates a group, but with a different GID.
groupadd -f GID
You may also create a system group by attaching the -r option to the groupadd command. System groups are used for system purposes, which practically means that GID is allocated from 1 to 499 within the reserved range of 999.
groupadd -r group_name
For more information on groupadd, see the groupadd(8) man pages.