DEV Community

Cover image for Managing Groups in Linux
Aryan Vaishnani
Aryan Vaishnani

Posted on

Managing Groups in Linux

Groups are used to manage permissions for multiple users together.

Instead of giving permissions user-by-user, Linux allows assigning permissions to groups.

Main commands:

  1. groupadd
  2. groupmod
  3. gpasswd

What is a Group?

A group is a collection of users.

Example:

  • Developers group
  • Docker group
  • Admin group

Group Information File

Linux stores group data in:

/etc/group

View Groups

cat /etc/group

Example Entry

docker:x:999:aryan

1. groupadd Command

Purpose

Creates a new group.

Syntax

sudo groupadd groupname

Example

sudo groupadd developers

Creates:

developers

group.

Create Group with Custom GID

sudo groupadd -g 2000 devops

Real-World Usage

Create Docker Team Group

sudo groupadd dockerteam

2. groupmod Command

Purpose

Modifies existing group.

Syntax

sudo groupmod options groupname

Rename Group

sudo groupmod -n engineers developers

Meaning:

developers → engineers

Change Group ID

sudo groupmod -g 3000 engineers

Real-World Usage

Rename Team Group

sudo groupmod -n sre_team devops

3. gpasswd Command

Purpose

Manages group members and passwords.

Add User to Group

sudo gpasswd -a aryan docker

Meaning:

Add aryan to docker group

Remove User from Group

sudo gpasswd -d aryan docker

Set Group Administrator

sudo gpasswd -A aryan developers

Primary vs Secondary Groups

Type Purpose
Primary Group Main group of user
Secondary Group Extra permission groups

Example

uid=1000(aryan) gid=1000(aryan) groups=1000(aryan),999(docker)

Add User to Multiple Groups

sudo usermod -aG docker,sudo devuser

Important Groups in Linux

Group Purpose
sudo Administrative access
docker Docker permissions
wheel Admin access in RHEL
www-data Web server user
adm Log access

Useful Group Commands

Command Purpose
groupadd Create group
groupmod Modify group
groupdel Delete group
gpasswd Manage group members
groups Show user groups
id Show UID/GID

Top comments (0)