Permission Command in Linux: chmod

If you want to manage permission of files or directories in Linux, all you can do using the chmod command.

Through this command, you can ensure a specific person has certain rights to access, modification, and other things.

This article will guide you through the concept of chmod how you can implement it in your system.


Chmod stands for change file mode bits.

In a Linux every file has given three properties

r – Read

w – Write

x – Execute

All files are associate with certain permission and attributes to

u – Owner

g – Group

o – Others

Through chmod, you can change the file permission, but if you want to change ownership, you have to use chown or chgrp commands in the terminal.

So, now we will show you some commands with examples. Through this, you will get a better idea.

First of all, if you want to check the file-permission of all files in the current directory.

ls -l
ls -l
ls -l

This command will show all the permission of the file under the directories. If you want to know the permission of a specific file, then type

ls -l nameoffile.txt
ls -l nameoffile.txt
ls -l nameoffile.txt

You can see the output. I’ll explain to you everything that does mean from left to right direction.

  1. This means file type (if d then directory)
  2. rw – the user has read and write permissions
  3. rw – group permissions
  4. r – others permissions
  5. access method
  6. shen owner
  7. shen group

This output says the user can read and write files. Even groups can do the same, but others have permission to read.

Certain Permission on files

Read permission:- When the character is “-” then the file is not allowed to read. If the character is “r, then you can read the file.

Write permission:- When the character is “-” then the file is not allowed to do changes. If the character is “w,” then you can make changes in the file.

Execute permission:– When the character is “-” then the file will not execute. If the character is “x, then you can execute the file.

Top 3 light weight linux distro for your low end pc

Using chmod

The chmod command allows a user to grant or revoke the read, write, and execute using various methods like numeric mode, symbolic, or reference file.


Syntax of chmod
Syntax of chmod

To change permission is the only right of the root user and owner of the file to change the permission of root user file

sudo chmod -R 775 nameoffile.txt
sudo chmod -R 775 nameoffile.txt
sudo chmod -R 775 nameoffile.txt

Symbolic (Text) Method

In symbolic method to set permission to file first we use “u g o a”.

  • u – File Owner
  • g – Group
  • o – Other
  • a – All user

After define symbolic link we use operator to define permission like ” – + = “

  • revoke permissions
  • + assigned permissions
  • = Change the permission

Then define the permission what you want to give like “r, w, x”.

Now I’ll list you certain examples so you will get better idea

Before removing write permission to group

before symbolic command used
before symbolic command used

Now I’ll remove the write permission from group to use this command type

$ chmod g=r nameoffile.txt 
After symbolic command used
After symbolic command used

Numeric Method

Now, we will show you how we can change file permission using the numeric method.

We can leverage the number to change all types of permission through this method.

Every operation assigned with certain number

  • read = 4
  • write = 2
  • execute = 1
  • no permission define = 0

Total 4 digits are used all the digit used to add and get some of the permissions like usually file owner has permission read(4) + write(2) + execute(1) = 7

Similarly for Groups and Others

  • Groups: read(4) + write(0) + execute(1) = 5
  • Others: read(4) + write(0) + write(0) = 4

According to your need you can define permission.I’ll show you demo of it

Before Numeric command used
Before Numeric command used

The above image show every user has all the permission. Now I’ll remove the permission from the group and others

$ chmod 700 nameoffile.txt
After Numeric command used
After Numeric command used

I have defined 700 indicate that users should have all the permission, but the group and others should not access it.

Commonly Used Permissions

I’ll list some commonly used permissions which is list down

chmod 644:- When you set this permission to file or directories, it means you the only owner to read and write, and Other users can just read, but no user can execute the file.

chmod 655:- In chmod 655 owner can just read and write but no execute. The only change is that other users can perform both read and write, but they cannot modify files.

chmod 775:- This type of permission is mostly used where you want the owner to have all the permission to read, write, and execute. Other users just have read permissions not to write or change files. For example, Web-server file permission is 775.

chmod 777:- When you set the permission 777, in this case, you allow permission to everyone read, write, and execute. With this permission, anyone can make changes or copy files.

It is not advisable to set this kind of permission to the web-server or any certain files.

How to install authy in linux based system

Recursively Chmod

Through recursively, method user can modify the permission of all the files at once without doing one by one.

Before Chmod – R 777 showcase apply

Before  Numeric Recursively command used
Before Numeric Recursively command used

To use this user just need to type

$ chmod - R 777 /showcase
After Numeric Recursively command used
After Numeric Recursively command used

Reference file method

You can set the same file permission of specified file as of reference given through the reference file method.

Reference file method
Reference file method

Command Type:-

 $ chmod --reference nameoffile.txt demo.txt

How to change permission through GUI?

To change permission through GUI, you need to open File Explorer, select any file, press the right-click button, and then go to properties.

chmod using gui method

After this switch to the permission tab in this, you will see Owner, Group, and Others have certain permission,

Just change the permission as per your requirement.

This is the pretty simple way to change permission using GUI.

Wrap up

Through the chmod command, you can grant permission to all users using several method references, numeric, symbolic.

In the reference method, you need to reference a particular file to have the same permissions set.

In the case of numeric you have to assign numeric value each number get to sum up like for read (4) + write(2) + execute(1)

Through a symbolic way, you have to specify user, then it is upon you to use (+, –, = ) permissions using attributes r, w, x.

Whenever you are grant permission to file or directories. Please care what you type. Otherwise, you have to face certain issues.

Please leave a comment So, I can explain to you any other commands or queries.

Like what you read? Please share it with others.
Inline Feedbacks
View all comments