Linux Blog

Introduction to CHMOD – Octal Format

Filed under: General Linux,Quick Linux Tutorials — at 1:25 pm on Tuesday, September 25, 2007

CHMOD is used to change permissions on a file. There are three types of permissions read, write, execute and there are three types that permissions can be set for owner, group and other.
It can be used with a symbolic representation or with an octal number that represents the bits. This blog post features on just the octal format. CHMOD works on most Linux file systems. It is also used on other operating systems such as BSD. Web designers and developers may be familiar with CHMOD as they have to set permissions when uploading files via FTP.

The octal notation can seem quite confusing but is actually very simple.
To figure out the octal format take the following table:

  Owner Group Other
Read 4 4 4
Write 2 2 2
Execute 1 1 1

To figure out the octal method just add up the sum of what you want to set the permissions to.
If you would like to set the permissions for the owner to read, write execute and the group/other to read and execute you would do the following:

  Owner Group Other
Read 4 4 4
Write 2 2 2
Execute 1 1 1
Add: 7 5 5

Its that simple. The way I remember the numbers to the corresponding permission is to remember that the number starts with 4 and is divided by two and then I repeat the following:
“For Read, Two Write, Execute”
meaning that 4 is read, 2 is write and the last (1) is execute.

There are graphical utilities that set permissions such as Thunar in XFCE and Konqeuror for KDE, but they normally do not allow you to change the permissions on multiple files at once.

If you have a whole directory full of files that you would like to change permissions on, you can simply do:

chmod 755 *

* is a wild card or regex and tells chmod to change permissions on all files.

If you would like chmod to go into directories and change permissions on files, the -R option is used.

chmod 755 -R *

will change permissions on all files and dive into the folders also.

chmod is an absolute must for system administrators and is good to know for home Linux users. If your experimenting with chmod be careful and do not use the -R option unless your absolutly sure you need to. I have accidentally used chmod to recursivly change permissions on a whole drive before. Lets leave it at this was not what I call a fun time since I had changed them to a very open 777.

Take that as your warning.