This review presupposes that you’ve come across the term “Chmod 777” before, it will be explained in simple and concise ways. This review will explain what it is, what it does, how to use it, where to use it and generally other information relating to the term.
You may have come across the term while trying to fix a permission issue on your web server. The solution offered might have been for you to “chmod 777” the web directory recursively.
This might solve the problem but then it opens you up to other issues that you might not be aware of unless you’re well informed about what Chmod 777 does exactly.
Maybe you’re a web owner whose website is hosted on a Linux server. You tried accessing or modifying a document and you were repulsed with the statement “you do not have the permission to upload a file to the folder”.
After searching for help, you learn that the solution is to change the file permission to ” 777″. This seems easy enough but there are underlying issues why we should know more before making modifications.
What is Chmod?
In Unix systems, there is a mechanism that deals with file controls. Chmod is a command used to change those file permissions and controls in terminals. Basically, it allows or disallows modifications of the file.
Understanding the Linux systems helps make your system secure by restricting access to your files. Chmod 777 is one of those file control mechanisms. More of a permission mechanism though. There are two parts (of file control mechanisms).
Underneath this group, there are 3 subgroups. There’s usually the “Owner”, the “Group” and “Others”.
The Owner is usually the one with all the permissions to modify at will any file. The Group is a bunch of people given access by the Owner to modify or just view files depending on the level of access granted by the Owner. Others are guests basically, their level of access is also restricted or loosened by the Owner.
There are 3 actions you can initiate on files. They are
Read – Access is only limited to reading files. Modifying the file is restricted. When applied to folders, viewing files inside the folder is allowed but any other action like adding or deleting files to the folder is restricted.
Write – Reading the files, editing the files and modifying the files are allowed. Folders with this permission can have files removed from them and other files added.
Execute – Major usage is in running files. Examples are Scripts. Another explanation is that the file directory can be entered using the CD command.
What is the meaning of “777” in Chmod 777? 🤔
Did you make it thus far understanding every step? Then let’s continue.
These numbers represent restrictions or access depending on the numbers. An 8-bit binary controls files or folders access. In its original or basic form, (000), it signifies no access at all. No modification or reading or executing is allowed at all.
Here’s something vital you need to know, while in basic binary form, there are only numbers 0 and 1. So if “000” means no permission is given to all classes in its basic form, then “111” will mean all permissions are given to all classes. But in a decimal format, these are the designated numbers of the permissions.
“Read“ is represented by the number 4
“Write“ is represented by the number 2
“Execute“ is represented also by a number, the number 1
These permissions are the same for files and directories but with slightly different meanings.
The Read Permission – For files with the read permission set, the file can be read in a normal text editor. In the case of a directory or folder, the contents of that folder can be viewed.
Write Permission – Files can be changed or modified when this permission is set. For directories, the contents can be altered in a lot of ways. Examples of alteration include deleting of new files, creating new files, moving files and renaming files.
The Execute Permission – Files with the execute permission set can be executed while directories can be entered using the CD command.
The rationale behind the numbers being three (777 for instance) is that they represent the Owner, Group, and Others.
The first “7” signifies some sort of permission or access for the Owner, the second “7” represents permission or access for the Group and the third “7” represents permission or access for Others.
How To Understand The Numbers (777,775,655 and so on)
We already learned that in the decimal format, the permissions have numbers assigned to them. To get the permission assigned to the classes, we will add the numbers based on the access granted.
For example, a (4+2+1 with)=7 means Read, Write and Execute functions are available and accessible to one class, if it is 777, it means all classes can read, execute and write. 😎
Here’s a table that explains the different permutations that could occur.
0 – No permission or access
1 – Only “Execute” allowed
2 – Only “Write” allowed
3 – “Write” and “Execute” allowed
4 – “Read” only allowed
5 – “Read” and “Execute” allowed
6 – “Read” and “Write” allowed
7 – All permissions and access are granted
Based on the information above, to set permissions to files and folders, set the number accordingly to the permission that you want them to have.
Some permissions promise ease of access to all classes, some restrict all classes while others differentiate between classes. Whichever one we use, it has to be determined by the sensitivity of the files or folders we are protecting.
Still, this concept is not clear? 🤔 No Worry! Watch out this “Linux File Permissions and Attributes” video to understand this.
Some Permissions Explained 📗
000 – No permission is set. All-access is denied and no class can read, write or edit
621 – The Owner is able to read and write, basically he/she can modify the files and folders. Groups can only modify the file but not read. Others can only execute the file.
644 – This suggests that the Owner can only read and write, the Group can only read and Others too will be allowed to only read the files or folders.
655 – Another type of permission that indicates that the Owner will only be able to read and write, the Group will be able to read and execute and Others will have the same permissions as the Group.
750 – Owners have all permissions set, Groups can read and execute but Others have no permission set so they cannot read, write or execute any file or folder.
761 – Owners will have access to read, write and execute. Groups will only read and write and Others can only execute.
755 – Owner has all permission and access, Groups can only read and execute, Others can only read and execute too.
777 – All classes, Owners – Groups – Others, share the same permission to read, execute and write files or folders.
How To Change Permissions Of Files Using GUI
This is a simple process:
First, you have to do is right-click the file or folder and click on “properties”.
By default, you will be on the”basic” tab. Click on the “permissions” tab at the top center, here you will be able to modify permissions for the file.
The owner, group and other categories all have an “access” value. By clicking on the drop-down list, in front of the access value, you can change the permission rights.
If you are webmaster and looking for detailed information about WordPress file management then below mentioned video is for you only.
The Danger Of Using Chmod 777 🧨
There are many files and folders that we know are important to our jobs or family. These files and folders should be kept private and set the permission to “777” do not help in keeping the information on the file secret. It rather ensures that just about anybody can read and make modifications to your file.
Perhaps instead of quickly changing the file permissions when we have issues with our web servers, we might want to consider changing the file ownership status to the user running the application, set files permission to “644” and file directories to “755”.
The command used to change permission as explained above is ” chmod” while that of directories is “chown”. Hopefully, this will solve our issues while maintaining the integrity of our files.
Granting access to all classes (chmod 777) can sometimes be a security hazard. Everybody accessing that file or folder will be able to make changes and modify it according to their will. You could lose vital information in the least or the wrong person could access sensitive information and modify it.
A sensible option is to consider using the “755” permission. It gives groups and others access to read and execute but the privilege of modifying the file still rests with the owner. Many permissions are available for use. Find the perfect fit by thinking of how important the file or folder secrecy is.
In using a Linux system, this information is vital. Permissions are very important and the knowledge of how to use them will only enhance user satisfaction.
Changing these permissions are pretty easy so there’s some sort of flexibility when it comes to set permissions for different files and folders which could sometimes be called directories.
Please comment below your experiences about permissions.