DEV Community

Cover image for Understanding Linux File and Folder Permissions
Adetayo Akinsanya
Adetayo Akinsanya

Posted on

Understanding Linux File and Folder Permissions

Prerequisites:

Before diving into the world of Linux file and folder permissions, you'll need basic knowledge of using the command line interface (CLI) and access to a Linux system. If you're new to these concepts, a brief introduction to CLI and basic Linux commands will be helpful.

Introduction

Linux file and folder permissions can be daunting, but they are crucial for securing your data and system. You've probably seen permission strings like drwxr-xr-x and wondered what they mean. In this article, we'll demystify these permissions, explain how they work, and how you can generate them.

Understanding the Permission String

The Linux file and folder permission string drwxr-xr-x is a way of representing the file permissions of a directory or file in a concise and easy-to-read format. It is made up of a series of characters, each of which represents a different permission. The characters are grouped into three sets of three, each of which represents the permissions for a different group of users:

  • The first set of three characters represents the permissions for the owner of the file or directory.

  • The second set of three characters represents the permissions for the group of users that the file or directory belongs to.

  • The third set of three characters represents the permissions for all other users.

The specific permissions that are granted or denied are represented by the following characters:

  • r - Read permission
  • w - Write permission
  • x - Execute permission

When any of the character is represented by an hyphen (-) this indicates that the permission is denied.

How to generate the Linux file and folder permission string

The file or directory permissions can be generated using the ls -l command.

For example, if you run the following command:

ls -l /home/user
Enter fullscreen mode Exit fullscreen mode

The output might be something like this:

drwxr-xr-x 2 user user 4096 Oct 26 16:56 /home/user
Enter fullscreen mode Exit fullscreen mode

Understanding the Permission String

Let's break down the permission string drwxr-xr-x into its individual components and give meaning to them:

  1. d: This stands for "directory." It indicates that the object (file or folder) is, in fact, a directory. If it were a regular file, you would see a "-" here instead.

  2. rwx: The next three characters (r, w, and x) represent the permissions for the owner of the file or directory.
    r (Read): The owner can view the contents of the file or list the directory.
    w (Write): The owner can modify the file or add/remove files within the directory.
    x (Execute): The owner can enter the directory (for folders) or run the file (for executable files).

  3. r-x: The next three characters represent the permissions for the group.
    r (Read): Members of the group can view the contents of the file or list the directory.
    - (Write): Members of the group cannot modify the file or add/remove files within the directory.
    x (Execute): Members of the group can enter the directory or run the file.

  4. r-x: The last three characters are the permissions for others (everyone else who is not the owner or in the group). The same rules apply:

r (Read): Others can view the contents of the file or list the directory.
- (Write): Others cannot modify the file or add/remove files within the directory.
x (Execute): Others can enter the directory or run the file.

Setting Permissions for file or folder

You can set permissions using the chmod command in Linux. Here's how to generate a permission string:

  1. Owner Permissions: Use chmod followed by the owner's permission characters. For example, to give the owner read, write, and execute permissions, use:
chmod u=rwx file_or_directory
Enter fullscreen mode Exit fullscreen mode
  1. Group Permissions: To set group permissions, use:
chmod g=rx file_or_directory
Enter fullscreen mode Exit fullscreen mode
  1. Others Permissions: To set permissions for others, use:
chmod o=x file_or_directory
Enter fullscreen mode Exit fullscreen mode

Usage

Let's say you want to set the permission string drwxr-xr-x for a directory called "my_folder." You would use the following commands:

chmod u=rwx my_folder
chmod g=rx my_folder
chmod o=rx my_folder
Enter fullscreen mode Exit fullscreen mode

After executing these commands, you'll have the desired permission string.

Whether you're new to Linux or an experienced user, there's always something new to explore. If you've gained new insights, I'm delighted, and if you're an experienced Linux user, thank you for reading this far.

Stay tuned for more fun and engaging content on Linux and other tech topics! Happy learning.

Top comments (0)