Logo

How do I change permissions for a folder and its subfolders/files in Linux?

To change permissions for a folder and all its subfolders and files in Linux, you can use the chmod -R (recursive) option. For example:

chmod -R 755 /path/to/directory
  • -R: Recursively applies the permission change to the directory, all subdirectories, and every file within them.
  • 755: Assigns read, write, and execute (rwx) to the directory owner; read and execute (rx) to group and others.

Symbolic Mode Example

If you prefer symbolic notation (e.g., adding execute permission for the owner, but only read for everyone else):

chmod -R u+rwx,go+rx /path/to/directory
  • u: User (owner), g: Group, o: Others.
  • +rwx: Adds read, write, and execute permissions.
  • +rx: Adds read and execute for the other categories.

Caution:

  • Overly Permissive? Setting 777 (rwx for everyone) can be a security risk—be sure you actually need full read/write/execute for all.
  • Ownership: Changing ownership (chown -R) may also be necessary if the directory or files should belong to another user or group.

Using find for Fine Control

If you want to set different permissions for directories vs. files, you can use find:

# Directories: read, write, and execute for owner; read and execute for group/others find /path/to/directory -type d -exec chmod 755 {} \; # Files: read and write for owner; read-only for group/others find /path/to/directory -type f -exec chmod 644 {} \;

This approach is more flexible if you need distinct permissions for folders vs. files.

Further Learning

To build a solid foundation in Linux operations and enhance your coding/interview skills, consider these courses from DesignGurus.io:

By mastering Linux permission management and honing your coding skills, you’ll be well-equipped to handle a wide range of development and sysadmin tasks.

CONTRIBUTOR
TechGrind