How to Set File Permissions in Linux [+Example]

The command you need is chmod to change permissions in Linux. The Linux permission system works differently from Windows. We have some numbers associated with the permission.

1 – Execution

2 – Writing

4 – Reading

File permissions Linux

So you always have to make some math to apply for the permission. If you want to assign the execution permission you can set as 1, write permission 2 and reading permission 4Write + Reading is equal to 6, so the permission is 6. If you want Read + Write + Execution is equal to 7. In the below section explained how to check file permissions.

How to check file permissions

alisson@devops:~$ touch new_file
alisson@devops:~$ ls -la new_file
-rw-rw-r-- 1 alisson alisson 0 Feb 20 19:21 new_file

The command touch is responsible to change the access time of any file. If the file does not exist, it creates one. Checking the output, you can see that we have the permissions: read+writeread+write, read, but what means that sequence:

user – group – other

In the same line, we can see alisson alisson, the first one is the user owner for this file and the second one is the group. By default, all the users created on Linux have a group with the same name as the user.

If you remember the numbers which represent the permission, we can make a calculation, read+write = 4 + 2 = 6. Then we have the following permissions:

664

Therefore, the user can read and write. Users from the same group can also read and write, users who do not belong to the group can just read.

Now, we can create a directory and analyze the permissions as we did just now:

How to check permissions for directory

alisson@devops:~$ mkdir new_folder
alisson@devops:~$ ls -la | grep new_folder
drwxrwxr-x 2 alisson alisson 4096 Feb 20 19:29 new_folder

Analyzing the permissions, we can see, read + write + execution for the user and group, and read + execution for the others. If we make the following association:

read + write + execution = 4 + 2 + 1 = 7
read + execution = 4 + 1 = 5

So, whenever you give 777 that means, you are proving read + write + execution to user, group and owner.

Command to change permissions

Use chmod command and associated numbers to change file permissions.

$ chmod 777 newfile

Related

Author: Srini

Experienced software developer. Skills in Development, Coding, Testing and Debugging. Good Data analytic skills (Data Warehousing and BI). Also skills in Mainframe.