How to Use CHMOD Command in Linux

On the Linux operating system, CHMOD is an essential command for managing access permissions on files and directories. It allows you to adjust read, write, and execute permissions for the owner, group, and others. For Linux newcomers, understanding and utilizing CHMOD can be initially challenging.

In this article, we will delve into the details of CHMOD and How to use the CHMOD command in Linux. We will begin by explaining the significance of CHMOD and why it plays a crucial role in file system management. Next, we will explore how to use CHMOD through examples and specific instructions. We will cover both the syntax of the CHMOD command and common options that you can employ.

Under the guidance of this article, you will gain knowledge and proficiency in using CHMOD to manage access permissions on files and directories in the Linux environment. Let’s dive in and explore the world of CHMOD to harness its power in your daily Linux workflow.

The syntax of the CHMOD command is used as follows:

chmod [option] [mode] [files/folders]

We will learn in detail about the parameters in the CHMOD command as follows

[option] in CHMOD

Below are some commonly used popular [option]

  • -R: Apply the CHMOD command recursively to both directories and files within them.
  • -c: Display a message only when the file’s access permissions are modified.
  • -f: Do not display error messages if an error occurs.
  • -v: Display a message for each file that is modified.
  • -H: Apply the CHMOD command recursively to hard links instead of directories.
  • -L: Apply the CHMOD command recursively to symbolic links instead of directories.
  • -P: Apply the CHMOD command recursively to both symbolic and hard links instead of directories.

[mode] in CHMOD

The [mode] in the CHMOD command is used to specify the access permissions for files or directories. They are represented using either Symbolic or Octal mode.

Symbolic mode

The symbolic mode in the chmod command is a way to modify file permissions using a symbolic representation. It allows users to specify and manipulate permissions using a combination of symbols and operators.

The symbolic mode syntax follows the pattern:

chmod [option] [permissions][operator][access] [files/folders]

Here’s a breakdown of each component:

  • [permissions]: The permissions section represents the target permissions you want to modify. It consists of one or more permission characters, each indicating a specific type of permission:
    • [ u ]: User/Owner permissions
    • [ g ]: Group permissions
    • [ o ]: Other (world) permissions
    • [ a ]: All (equivalent to ugo)
  • [operator]: The operator defines the action you want to perform on the permissions. There are three common operators:
    • [ + ]: Adds the specified permissions to the existing permissions.
    • [ ]: Removes the specified permissions from the existing permissions.
    • [ = ]: Sets the permissions explicitly, replacing the existing permissions with the specified permissions.
  • [access]: The access portion specifies the permissions you want to add or remove. It consists of one or more permission characters:
    • [ r ]: Read permission
    • [ w ]: Write permission
    • [ x ]: Execute permission

Example 1:

Let’s say you want to grant full access permissions to a file in Linux using the Symbolic mode in the chmod command. Enter the following command:

chmod u+rwx file1.txt

Explanation:

  • u represents the user.
  • + specifies adding permissions.
  • rwx represents read, write, and execute permissions.
  • file1.txt is the name of the file you want to set permissions for.

With the above example, the chmod command will add read, write, and execute permissions for the user to the file1.txt file.

chmod-command-in-linux

Example 2:

Suppose you want to remove write permissions for all members in the group of a directory. Enter the following command:

chmod g-w directory1/

Explanation:

  • g represents the group.
  • specifies removing permissions.
  • w represents write permission.
  • directory1/ is the name of the directory where you want to make the permission changes.

With the above example, the chmod command will remove write permissions for all members in the group for the directory1/ directory.

chmod-command-in-linux

Octal mode

In the chmod command in UNIX and its equivalents, Octal mode is a method for setting access permissions for files and directories. Octal mode uses the octal numeral system (base-8) to represent access permissions in three groups: user, group, and other.

The access permissions in Octal mode are represented by numbers from 0 to 7, corresponding to specific permissions:

  • 0: No permission (---)
  • 1: Execute permission (--x)
  • 2: Write permission (-w-)
  • 3: Write and execute permission (-wx)
  • 4: Read permission (r--)
  • 5: Read and execute permission (r-x)
  • 6: Read and write permission (rw-)
  • 7: Read, write, and execute permission (rwx)

When using Octal mode, you simply use a single number to represent all access permissions. Specifically, the first digit represents the user’s permissions, the second digit represents the group’s permissions, and the last digit represents the permissions for others.

Example 3:

If you want to set the access permissions to rw-r--r-- (644) for a file, you would use the following command:

chmod 644 file3.txt

In Octal mode, the number 644 is divided into three parts:

  • The first digit (6) represents the user’s permissions.
  • The second digit (4) represents the group’s permissions.
  • The third digit (4) represents the permissions for others.

In this case, the Octal value 6 represents rw-, which means the owner or user of the file has read and write permissions but does not have the permission to execute the file. The Octal value 4 represents r--, which means the group and others have only read permissions but cannot write or execute the file.

Therefore, after running the command chmod 644 file3.txt, the file file3.txt will have the following access permissions:

  • User: read and write (rw-)
  • Group: read only (r--)
  • Others: read only (r--)
chmod-command-in-linux

Example 4:

Similarly, to set the access permissions to rwxr-xr-x (755) for a directory, you can use the command:

chmod -R 755 directory2

Let’s break down the command and its meaning:

  • chmod: It is the command used to change the permissions of a file or directory.
  • -R: It is an option that stands for “recursive”. It ensures that the command is applied not only to the specified directory but also to all files and subdirectories within it.
  • 755: It is the Octal mode representation of the desired access permissions.
  • directory2: It is the name of the directory for which the permissions are being modified.

In Octal mode, the number 755 represents the access permissions as follows:

  • The first digit 7 represents rwx, which means the owner or user of the directory has read, write, and execute permissions.
  • The second digit 5 represents r-x, which means the group has read and execute permissions but does not have write permission.
  • The third digit 5 represents r-x, which means others (users who are neither the owner nor part of the group) have read and execute permissions but do not have write permission.

By using the -R option, the command recursively applies the specified permissions to the directory directory2 and all its files and subdirectories, ensuring that the permissions are set consistently throughout the directory tree.

After executing the command chmod -R 755 directory2, directory2 and all its contents will have the following access permissions:

  • Owner: read, write, and execute (rwx)
  • Group: read and execute (r-x)
  • Others: read and execute (r-x)
chmod-command-in-linux

Conclusion

Through this How to use the CHMOD command in Linux article, you have learned how to use the chmod command in Linux. If you have any questions or feedback, please leave a comment below.

Thank you for reading !!!

Read more

Leave a Reply

Your email address will not be published. Required fields are marked *