Chmod Numeric Permissions Notation UNIX / Linux Command

by Vivek Gite on June 30, 2007 · 4 comments

Can you provide more information about chmod command octal mode number notation?

The command chmod changes the file mode bits of each given file according to mode, which can be either a symbolic representation of changes to make, or an octal number representing the bit pattern for the new mode bits. chmod never changes the permissions of symbolic links; the chmod system call cannot change their permissions. This is not a problem since the permissions of symbolic links are never used. However, for each symbolic link listed on the command line, chmod changes the permissions of the pointed-to file. In contrast, chmod ignores symbolic links encountered during recursive directory traversals.

UNIX / Linux chmod command

A bit mask created by ORing together zero or more of the following:

Octal Mode NumberDescription
0400Allows the owner to read
0200Allows the owner to write
0100Allows the owner to execute files and search in the directory
0040Allows group members to read
0020Allows group members to write
0010Allows group members to execute files and search in the directory
0004Allows everyone or the world to read
0002Allows everyone or the world to write
0001Allows everyone or the world to execute files and search in the directory
1000Sets the sticky bit
2000Sets the setgid bit
4000Sets the setuid bit

First digit in the above mode number is used to set setuid, setgid, or sticky bit. Each remain digit set permission for the owner, group, and world as follows:

  1. 4 = r (Read)
  2. 2 = w (Write)
  3. 1 = x (eXecute)

So you end up creating the triplets for your user by adding above digits. For e.g.

  • To represent rwx triplet use 4+2+1=7
  • To represent rw- triplet use 4+2+0=6
  • To represent r-- triplet use 4+0+0=4
  • To represent r-x triplet use 4+0+1=5

To only give full permission to user, use it as follows:
chmod 0700 file.txt

  • 0 - Use set setuid, setgid, or sticky bit
  • 7 - Full permission for owner (rwx = 4+2+1=7)
  • 0 - Remove group permission (--- = 0+0+0=0)
  • 0 - Remove world permission (--- = 0+0+0=0)

Featured Articles:

Share this with other sys admins!
Facebook it - Tweet it - Print it -

{ 4 comments… read them below or add one }

1 Tsakos December 18, 2009

To represent r-x triplet use 4+0+1=1 – It should be 5, not 1. :-)

Reply

2 Vivek Gite December 18, 2009

@Tsakos,

Thanks for the heads up!

Reply

3 Pokermu November 4, 2010

Thank you. It opened my eyes wide.

Reply

4 Dinesh February 10, 2011

Very Good Explanation It helps me a lot

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <blockquote> <pre> <a href="" title="">
What is 6 + 11 ?
Please leave these two fields as-is:
Solve the simple math so we know that you are a human and not a bot.




Previous post:

Next post: