How to Recursively Change the File Permission in Linux?

Photo of author
Written By Jam radar

Jam Radar specializes in delivering astute tech reviews, comprehensive guides, and precise troubleshooting solutions.

chmod recursive

Linux provides a method for controlling file permissions because it is a multi-user operating system, ensuring that only permitted program and users have access to certain directories and files.

Managing file permissions is a fundamental task for any Linux user or system administrator. Properly configuring file permissions ensures the security and integrity of your system. In this article, we’ll explore how to recursively change file permissions in Linux.

Understanding File Permissions in Linux

Before we dive into the step-by-step process, let’s grasp the basics of Linux file permissions. Linux utilizes a three-tiered system for file permissions:

  • User Permissions: These apply to the file or directory owner.
  • Group Permissions: These apply to a designated group of users.
  • Others Permissions: These apply to all other users on the system.

The ‘chmod’ Command

The primary tool for modifying file permissions in Linux is the ‘chmod’ command. To change permissions recursively, we use the ‘-R’ flag. But first, let’s understand how to read and set permissions.

Reading Permissions

  • r (read): If a user has ‘r’ permission, they can read the file’s content.
  • w (write): If a user has ‘w’ permission, they can modify the file’s content.
  • x (execute): If a user has ‘x’ permission on a file, they can execute it. For directories, ‘x’ permission allows entering and accessing contents.

How can I verify Linux Change file permissions?

Check the user, group, and other permissions first if the “permission denied” error occurs during a file or directory activity.

The ls -l command can help you do this. For instance, the “/var” directory has the following permissions for various files and folders.

The data in the above result is particular.

The first column displays the permissions for files and directories. The first letter in this column designates the kind: d designates a directory, l designates a symbolic link, and – designates an ordinary file.

The remaining nine characters are separated into three groups that represent the file or directory permissions: u user, g group, and o owner. The letters r, w, and X stand for “read” privileges, “write” permissions, and “execute” permissions, respectively.

Once you have created a functioning directory or file, you may quickly change its file permissions.

Recursively Changing File Permissions

To recursively change file permissions, you can use the -R (or –recursive) option with the chmod command. This will apply the specified permissions to the directory and all its contents.

The general syntax for recursively changing file permissions is as follows:


For example, to change the permissions of all files and subdirectories under the /var/www/html directory to 755, you would use:

chmod -R 755 /var/www/html

The mode can also be specified using the symbolic method:

chmod -R u=rwx,go=rx /var/www/html

Using the find Command

In general, files and directories should not have the same permissions. Most files do not require execute permission, whereas directories must have execute permissions to change into them. The find command can be used in combination with chmod to set different permissions for files and directories1:

find /var/www/html -type d -exec chmod 755 {} \\;
find /var/www/html -type f -exec chmod 644 {} \\;

What are common permission settings?

Common settings include ‘755’ for directories and ‘644’ for files, which grant read and execute permissions to the owner and read-only access to others.

How do I change ownership along with permissions?

You can use the ‘chown’ command to change ownership. Use ‘chown -R [new owner]:[new group] [file or directory]’ for recursive changes.

Can I revoke permissions for a specific user?

Yes, you can revoke permissions for a specific user by using the ‘chmod’ command with the ‘-‘ operator.


Recursively changing file permissions in Linux is a crucial skill for system administrators and users alike. Understanding the ‘chmod’ command and the basics of file permissions empowers you to control access to your files and directories effectively.

Related Articles:

How is Java used in Web Development ?

How To Remove node_modules from GitHub

What is XHCI hand-off On your PC. Should you enable it?

Leave a Comment