Go to main content

man pages section 4: File Formats

Exit Print View

Updated: July 2017



group - group file


The group file is a local source of group information. The group file can be used in conjunction with other group sources, including the NIS maps, group.byname and group.bygid, or group information stored on an LDAP server. Programs use the getgrnam(3C) routines to access this information.

The group file contains a one-line entry for each group recognized by the system, of the form:

groupname:password: gid:user-list



The name of the group. A string consisting of lower case alphabetic characters and numeric characters. The group name should be restricted to the Portable Filename Characters: A-Z, a-z, 0-9, underscore (_), hyphen (-) ,and period (.). Neither a colon (:) nor a NEWLINE can be part of a groupname. The string cannot exceed, MAXGLEN-1, which is currently defined as thirty two characters.


The group's unique numerical ID (GID) within the system.


A comma-separated list of users allowed in the group.

The maximum value of the gid field is 2147483647. To maximize interoperability and compatibility, administrators are recommended to assign groups using the range of GIDs below 60000 where possible.

A password can be demanded by newgrp(1) if the group password field is not empty. The only way to create a password for a group is to use passwd(1), then cut and paste the password from /etc/shadow to /etc/group. Group passwords are antiquated and not often used.

During user identification and authentication, the supplementary group access list is initialized sequentially from information in this file. If a user is in more groups than the system is configured for, {NGROUPS_MAX}, a warning is given and subsequent group specifications is ignored.

Malformed entries cause routines that read this file to halt, in which case group assignments specified further along are never made. To prevent this from happening, use grpck(1M) to check the /etc/group database from time to time.

If the number of characters in an entry exceeds 2047, group maintenance commands, such as groupdel(1M) and groupmod(1M), fail.

Previous releases used a group entry beginning with a `+' (plus sign) or `' (minus sign) to selectively incorporate entries from a naming service source (for example, an NIS map or data from an LDAP server) for group. If still required, this is supported by specifying group:compat in nsswitch.conf(4). The compat source might not be supported in future releases. A possible sources is files followed by ldap. This has the effect of incorporating information from an LDAP server after the group file.


Example 1 An Example group File

The following is an example of a group file:


and the sample group entry from nsswitch.conf:

group: files ldap

With these entries, the group stooges has members larry, moe, and curly, and all groups listed on the LDAP server are effectively incorporated after the entry for stooges.

If the group file was:


and the group entry from nsswitch.conf:

group: compat

all the groups listed in the NIS group.bygid and group.byname maps would be effectively incorporated after the entry for stooges.

See Also

groups(1), newgrp(1), groupadd(1M), groupdel(1M), groupmod(1M), grpck(1M), getgrnam(3C), initgroups(3C), nsswitch.conf(4), unistd.h(3HEAD)

Introduction to Oracle Solaris 11.3 Administration


An administrator must have solaris.group.manage authorization to add a new group. An administrator can add a user to any group or modify any group for which it has a matching authorization of the form solaris.group.assign/groupname. An administrator must have both solaris.group.manage and either solaris.group.assign or an authorization of the form solaris.group.assign/groupname to delete a group.