Guide to chgrp Command in Linux

In Linux, the chgrp command is a useful tool for changing group ownership of files and directories. It is an important command for system administrators who need to manage user permissions and access control on a Linux system. The chgrp command is also useful for collaborative work where users need to share files and directories with specific groups.

What is chgrp Command in Linux?

The chgrp command is used to change group ownership of files and directories in Linux. It changes the group ownership of a file or directory to a specified group. The command is usually used in combination with the chown command to change both user and group ownership of a file or directory. The chgrp command can be used by the root user or any user who has permission to change group ownership of a file or directory.

Syntax of chgrp Command

The syntax of the chgrp command is as follows

chgrp [options] new_group file/directory

The options that can be used with chgrp command are as follows

Option Description
-R, --recursive Change files and directories recursively
--dereference Affect referent of each symbolic link (default)
--no-dereference Affect symbolic links themselves
--preserve-root Do not operate recursively on '/'
--reference=RFILE Use RFILE's group rather than specifying a group

Examples of chgrp Command

Change Group Ownership of a File

To change group ownership of a file, use the following command

chgrp developers file.txt

This command changes group ownership of the file "file.txt" to "developers". Note that you need to have necessary permissions to change group ownership of the file.

Change Group Ownership of a Directory

To change group ownership of a directory, use the following command

chgrp marketing /home/projects

This command changes group ownership of the directory "/home/projects" to "marketing".

Change Group Ownership Recursively

To change group ownership of a directory and all its contents recursively, use the following command

chgrp -R sales /home/shared

This command changes group ownership of the directory "/home/shared" and all its contents recursively to "sales".

Change Group Ownership of Symbolic Links

By default, the chgrp command affects the referent of each symbolic link. However, if you want to change group ownership of symbolic links themselves, use the following command

chgrp --no-dereference admin /usr/local/bin/mylink

This command changes group ownership of the symbolic link "mylink" to "admin" itself, rather than affecting the referent of the symbolic link.

Using Reference File

You can copy the group ownership from another file using the --reference option

chgrp --reference=template.txt newfile.txt

This command sets the group ownership of "newfile.txt" to match that of "template.txt".

Checking File Permissions and Ownership

To check permissions and ownership of a file or directory, you can use the ls command with the -l option

ls -l file.txt
-rw-r--r-- 1 john developers 1024 Dec  5 10:30 file.txt

This output shows that the file is owned by user "john" and group "developers". The first character indicates the file type, followed by three sets of three characters showing permissions for owner, group, and others respectively.

Important Considerations

The chgrp command only changes group ownership of files and directories. To change user ownership as well, you can use the chown command instead, or combine both using the syntax

chown new_owner:new_group file/directory

Group ownership of a file or directory can affect access permissions of other users in that group. For example, if a file is owned by group "sales" and has read and write permissions for that group, any user in the "sales" group can read and modify that file.

The chgrp command requires administrative or root permissions to be executed in many cases. This is because changing file ownership and permissions can have significant consequences for system security and functionality.

Conclusion

The chgrp command is an essential tool for managing group ownership of files and directories in Linux. It provides flexibility through various options like recursive changes, symbolic link handling, and reference-based operations. Understanding how to use chgrp effectively helps system administrators maintain proper access control and enables collaborative work in multi-user environments.

Updated on: 2026-03-17T09:01:38+05:30

9K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements