0
0
Linux-cliHow-ToBeginner · 3 min read

How to Change Group in Linux: Simple Commands Explained

To change the group ownership of a file or directory in Linux, use the chgrp command followed by the new group name and the target file or directory. For example, chgrp newgroup filename changes the group of filename to newgroup.
📐

Syntax

The basic syntax of the chgrp command is:

  • chgrp [options] group file

Here:

  • group is the name of the new group you want to assign.
  • file is the file or directory whose group you want to change.
  • options are optional flags to modify behavior, like recursive changes.
bash
chgrp [options] group file
💻

Example

This example changes the group of a file named report.txt to staff. It shows how to check the group before and after the change.

bash
ls -l report.txt
chgrp staff report.txt
ls -l report.txt
Output
-rw-r--r-- 1 user users 1234 Apr 27 10:00 report.txt -rw-r--r-- 1 user staff 1234 Apr 27 10:00 report.txt
⚠️

Common Pitfalls

Common mistakes when changing groups include:

  • Trying to change the group without proper permissions (you need to be the file owner or root).
  • Using a group name that does not exist on the system.
  • Forgetting to use the -R option when changing groups recursively on directories.

Example of wrong and right usage:

bash
chgrp unknowngroup file.txt
# Error: invalid group

sudo chgrp -R staff /path/to/directory
# Correct: changes group recursively
Output
chgrp: invalid group: ‘unknowngroup’
📊

Quick Reference

CommandDescription
chgrp group fileChange group of a file or directory
chgrp -R group directoryChange group recursively in a directory
ls -l fileCheck current group ownership
groups usernameList groups a user belongs to

Key Takeaways

Use chgrp group file to change the group ownership of a file or directory.
You must have ownership or root privileges to change a file's group.
Use -R option to change groups recursively in directories.
Verify the group change with ls -l before and after.
Ensure the target group exists on the system to avoid errors.