Skip to main content

Basic Linux File Permissions


A good start in learning Linux is to understand how to setup file permissions.
Linux has this permissions: "No Access" or "No Permissions", "Execute" only, "Write" only, "Write and Execute", "Read" only, "Read and Execute", "Read and Write", and of course "Full Access" or "RWX"

Below is a table that lists on how permissions is being derive.
Permissions is converted from Octal to Decimal.

4 2 1 Equivalent Access Right Equivalent Decimal Value Why?
0 0 0 No Access (zero) 0 Zero
0 0 1 X (execute) 1 0+0+1=1
0 1 0 W (write) 2 0+1+0=2
0 1 1 W+X 3 0+1+1=3
1 0 0 R (read) 4 1+0+0=4
1 0 1 R+X 5 1+0+1=5
1 1 0 R+W 6 1+1+0=6
1 1 1 RWX (Full Rights) 7 1+1+1=7

From the table above we can come up with this summary:

0 is no permissions, 1 is execute only, 2 is write only, 3 is write and execute, 4 is read only, 5 is read an execute, 6 is read and write and 7 is full access which hackers want to have.

To set file permissions we can use a "chmod" command

The "chmod" command uses a three digit code as an argument

File permissions set on chmod command has these order:

   Owner-Group-World or Others

So a command: chmod 700 secret_card.txt
Means that Only the owner can read, Groups no permissions, Others also no permissions

A command: chmod 444 hacker_notes.txt

Means that Owner, Groups and Everyone else has only read access


While a command like: chmod 777 free_notes.txt

Means that everyone will be happy, Owner,Groups,Others got full access. Everyone can mess up with the file.

So be careful in giving 777 access be sure you have a good reason to do it or you can try 007 James Bond Access.


Hope it helps, a quick notes for Linux File Permissions...


Linux Android App cheat sheet:
https://play.google.com/store/apps/details?id=com.LinuxMobileKit


Comments