Chmod file permission using bits.

This is the other method of giving file permission using bits.

we are having 3 different roles of symbolic representation.The representation given below:

  • user,
  • group,
  • others.

And the file/directory permissions are :

  • read permission,
  • write permission,
  • execute permission.

Numeric values for the read, write and execute permissions:

  • read 4
  • write 2
  • execute 1

Octal representation for permissions:

  • First number is for user
  • Second number is for group
  • Third number is for others

$ chmod 765 filename

In this example 7 is for user , 6 for group and 5 for others.

For example, give read, write ( 4+2 = 6 ) to user and read ( 4 ) to group and others.

$ chmod 644 filename

The table will help us to understand more about giving permissions.

          4        2           1

Read Write Execute

0       –            –          –

1       –            –          1

2       –            1         –

3       –            1        1

4       1            –         –

5       1            –         1

6       1            1         –

7       1            1         1


The umask acts as a set of permissions that applications cannot set on files. It’s a file mode creation mask for processes and cannot be set for directories itself. Most applications would not create files with execute permissions set, so they would have a default of 666, which is then modified by the umask.

Default file permission: 666

Default directory permission: 777

So if our umask value is 022, then any new files will, by default, have the permissions 644 (666 – 022). Likewise, any new directories will, by default, be created with the permissions 755 (777 – 022).

You can change the umask value to appropriate value of what you need based upon the above calculation. For example,

$ umask 077


Chmod Command for Beginners

There are two way to give file/directory permissions using bits and symbolic representation . In this article, let us discuss how to use symbolic representation with chmod.

we are having 3 different roles of symbolic representation user, group and others.The representation given below:

  • u is for user,
  • g is for group,
  • o is for others.

we also have 3 symbolic representation of file/directory permissions. they are :

  • r is for read permission,
  • w is for write permission,
  • x is for execute permission.

And we also have +, – and = symbols :

  • + means Add,
  • – means Remove,
  • = means set the permissions exactly like this.

Following are few examples on how to use the symbolic representation on chmod.

1.Add a permission to file/directory

chmod g+w filename

Changing permission to a single set. + symbol means adding permission. Here we are giving group to write permission. Likewise you can give single permission(r/w/x) for any roles(u/g/o).

2. Remove permission from a file/directory

$ chmod u-x filename

This will remove execute permission from user.

3. Add multiple permission to a file/directory

Use comma to separate the multiple permission sets as shown below.

$ chmod u+r,g+x filename

4.Remove multiple permission from a file/directory

$ chmod u-rx filename

5. Change permission for all roles on a file/directory

$ chmod a+x filename

It will change the permission of all three roles such as user,group and others.

6. Set a permission of a file/directory

$ chmod u=w filename

7.Set multiple permission of a file/directory

$ chmod u=rwx filename

It will set the permission. This will replace the permission with given permission.