Linux Commands

CHMOD 777: Syntax and Function

The chmod 777 is common when working with Linux. You might have encountered it somewhere after downloading an executable file or in a tutorial that you were reading. What does it mean, and should you use it?

The chmod 777 is one way of setting the file permissions to a file or directory in Linux. This guide will discuss about Linux file permissions and how to set them. We will also understand what chmod 777 is and what it does when it is executed.

What Are Linux File Permissions

In Linux, every directory and file has different ownership, attributes, and file permissions. These file control criteria help restrict who can access a given file and what they can do with the file or directory.

File permissions are categorized based on the class. There are three user classes:

  1. Owner – The person who creates the given file or directory is the owner. Ideally, any file or directory that is created in the Home directory is owned by the current user. However, you can use or change their ownership.
  2. Group – They represent the other users with access to a given directory or file. The owner defines their access to the file.
  3. Others – Anyone who is not the owner or doesn’t fall under the group category represents the others.

Each of the three user classes has different file permissions. They can have the read, write, or execute permissions.

Read (r) – The read permissions mean that the user can access the contents of a given directory and view the files. However, they can’t modify, create, or delete the existing files.

Write (w) – The write permissions allow the user to modify files in the directory.

Execute (x) – If a given file is a script, the execute permissions allow the user to run the file.

So, a given user can have different permissions. Besides, the owner can change the permissions for a given file or directory to add or revoke the permissions for a given user class.

To view the file permissions, a long list of the contents of a given directory is as shown:

In the previous image, we have a file and directory with different permissions. In the first case, the hyphen (-) means it’s a file. The rw- represents the owner permissions. The r– represents the group permissions. The last category, which is the r–, represents the others permissions.

In the case of the directory, the d represents the directory, followed by the file permissions.

File Permission Representation

The file permissions are represented as a numerical value: 4 stands for read, 2 stands for write, 1 stands for execute, and 0 stands for no permission.

Let’s break it down on the following table:

r, w, x permission Octal representation
– – – 0
– – x 1
-w- 2
-wx 3
r- – 4
r-x 5
rw- 6
rwx 7

If you get a file with permission 644, the owner has permission 6. This means that they can read and write to the given file and modify the files in the directory. The group and others have permission 4 which means that they can only read the files and the directory contents.

In our previous example, the permission for the moo.docx is set to 644 which is also represented as rw-r–r–.

For the new directory, its permission is set to 775. If we want to change it to 644, we can use the following command:

$  sudo chmod 644 new

We changed the file permissions using the chmod command.

Understanding CHMOD 777

The 777 file permission implies that all user classes can read, write, and execute. If you run the chmod 777, you are making the file or directory accessible to all user classes in your system. Such permission should be avoided and only used when you trust all the users in your system. The 777 permission poses a security threat; you should avoid using it if possible.

Only the owner should have the 7 file permission. The other users should stick to file permission 5 or other permissions depending on what they should access or execute.

The chmod 777 can be set as follows:

We set the 777 file permission for the named file. All users have the rwx permissions. If you find any file having such permissions, reduce the permissions to something else. You can use the chmod command to minimize the security threats in your system.

Conclusion

The chmod 777 is a command which is used to assign the read, write, and execute file permissions to all users in a system. This guide discussed all details about Linux file permissions, their representation, and how to change the permission using the chmod command. Moreover, we discussed what chmod 777 means and why you should avoid it. We hope that you now uderstand what the concept of chmod 777 is.

About the author

Denis Kariuki

Denis is a Computer Scientist with a passion for Networking and Cyber Security. I love the terminal, and using Linux is a hobby. I am passionate about sharing tips and ideas about Linux and computing.