Home Linux Triad of permissions in Linux

Triad of permissions in Linux

by Anup Maurya
21 minutes read

In Linux, permissions are a crucial part of the security model. Permissions control who can access files and directories and what they can do with them. There are three types of permissions: read, write, and execute, which are often referred to as the “triad of permissions.” In this tutorial, we will explore what each of these permissions means and how to set them.

Understanding the Triad of Permissions

Read Permission

The read permission allows a user to read the contents of a file or directory. When applied to a file, it means that the user can view the contents of the file, but cannot modify it. When applied to a directory, it means that the user can view the contents of the directory, but cannot add, remove or modify the contents of the directory.

Write Permission

The write permission allows a user to modify the contents of a file or directory. When applied to a file, it means that the user can modify the contents of the file, but cannot view it if the read permission is not set. When applied to a directory, it means that the user can add, remove or modify the contents of the directory.

Execute Permission

The execute permission allows a user to execute a file or access the contents of a directory. When applied to a file, it means that the user can execute the file if it is an executable file. When applied to a directory, it means that the user can access the contents of the directory, but cannot view or modify them unless the appropriate read and write permissions are set.

Setting Permissions

Permissions can be set for three categories of users: owner, group, and others. The owner is the user who created the file or directory, the group is a set of users who share a common set of permissions, and others are all other users on the system.

To set permissions, you can use the chmod command, which stands for “change mode.” The syntax of the chmod command is as follows:

chmod [options] mode file

The mode argument specifies the permissions you want to set, and the file argument specifies the file or directory you want to set the permissions for.

The mode argument can be specified in two ways: symbolic mode and numeric mode.

Symbolic Mode

Symbolic mode is a way of specifying permissions using letters and symbols. The letters used are r (read), w (write), and x (execute). The symbols used are + (add permissions), – (remove permissions), and = (set permissions).

To add the read permission for the owner of a file, you can use the following command:

chmod u+r file

To remove the write permission for the group, you can use the following command:

chmod g-w file

To set the execute permission for others and remove all other permissions, you can use the following command:

chmod o=x,g=,u= file

Numeric Mode

Numeric mode is a way of specifying permissions using numbers. Each permission has a numeric value: read (4), write (2), and execute (1). The sum of these values gives the numeric mode for the file or directory. For example, a file with read and write permissions for the owner and read-only permissions for the group and others would have a numeric mode of 644 (4+2+4+4=14).

To set the read and write permissions for the owner, you can use the following command

chmod 600 file

To set the read, write, and execute permissions for the owner, read and execute permissions for the group, and read-only permissions for others, you can use the following command

chmod 750 directory

Checking Permissions

To check the permissions of a file or directory, you can use the ls command with the -l option. The output of the ls -l command displays the file or directory permissions, owner, group, size, modification date, and name.

$ ls -l file
-rw-r--r-- 1 user group 0 Mar 16 12:00 file

In the example above, the file has read and write permissions for the owner, read-only permissions for the group and others, and is owned by the user “user” and group “group.”

Conclusion

Understanding and managing permissions is essential for maintaining a secure and functional Linux system. By using the chmod command, you can set the read, write, and execute permissions for files and directories. The ls command with the -l option can be used to check the current permissions of a file or directory. With the knowledge gained from this tutorial, you should be able to confidently manage file and directory permissions in Linux.

related posts

Leave a Comment