Linux groupadd command

Updated: 08/16/2021 by Computer Hope
groupadd command

On Unix-like operating systems, the groupadd command creates a new group.

This page describes the GNU/Linux version of groupadd.


The groupadd command creates a new group account using the values specified on the command line, plus the default values from the system. The new group is entered into the system files as needed.


groupadd [options] group


-f, --force This option causes the command to exit with success status if the specified group already exists. When used with -g, and the specified GID already exists, another (unique) GID is chosen (i.e., -g is turned off).
-g, --gid GID The numerical value of the group's ID. This value must be unique, unless the -o option is used. The value must be non-negative. The default is to use the smallest ID value greater than or equal to GID_MIN and greater than every other group.

See also the -r option and the GID_MAX description.
-h, --help Display help message and exit.
Overrides /etc/login.defs defaults (GID_MIN, GID_MAX and others). Multiple -K options can be specified.

Example: -K GID_MIN=100 -K GID_MAX=499
-o, --non-unique This option permits to add a group with a non-unique GID.
--password PASSWORD
The encrypted password, as returned by the crypt() system call. The default is to disable the password.

Note: This option is not recommended because the password (or encrypted password) is visible by users listing the processes. You should make sure the password respects the system's password policy.
-r, --system Create a system group. The numeric identifiers of new system groups are chosen in the SYS_GID_MIN-SYS_GID_MAX range, defined in login.defs, instead of GID_MIN-GID_MAX.
-R, --root CHROOT_DIR Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory. See also chroot.


The following configuration variables in /etc/login.defs change the behavior of this tool:

GID_MAX (number), GID_MIN (number)

Range of group IDs used for the creation of regular groups by useradd, groupadd, or newusers. The default value for GID_MIN (resp. GID_MAX) is 1000 (resp. 60000).


Maximum members per group entry. When the maximum is reached, a new group entry (line) is started in /etc/group (with the same name, same password, and same GID). The default value is 0, meaning that there are no limits in the number of members in a group. This feature (split group) permits to limit the length of lines in the group file. This is useful to make sure that lines for NIS groups are not larger than 1024 characters. If you need to enforce such limit, you can use 25. Note: split groups may not be supported by all tools (even in the Shadow toolsuite). You should not use this variable unless you need it.

SYS_GID_MAX (number), SYS_GID_MIN (number)

Range of group IDs used for the creation of system groups by useradd, groupadd, or newusers. The default value for SYS_GID_MIN (resp. SYS_GID_MAX) is 101 (resp. GID_MIN-1).



For this command to work, you must have superuser rights or be logged in as root.

groupadd newgroup

The example above would create a new group called "newgroup". This new group could then have users added to it using the useradd command.

gpasswd — Administer /etc/group and /etc/gshadow.
groupdel — Remove a group from the system.
groupmod — Modify a group definition.
useradd — Add a user to the system.