Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Chmod cheat sheet

Chmod codes cheat sheet

How to use chmod codes in UNIX:

  1. There are three types of permissions in files and folders in unix
    1. Read (r)
    2. Write (w)
    3. Execute (x)
  2. And, there is a classification of users called UGO (explained bellow):
    1. U ~> User (usually, you)
    2. G ~> Group (eg sudo group)
    3. O ~> Others

When you run $ ls -l your output will be something like this:

-rwxrwxrwx@  1 user  staff  708301983 Aug 11 13:51 all.zip
-rw-r--r--   1 user  staff          0 Aug 22 22:10 chmodCheatSheet.md
-r--------@  1 user  admin       1692 Jul  6 10:13 deploykey.pem
drwxr-xr-x   3 user  staff        102 Aug 20 19:14 deploynode

How to read this?

Where is a letter put a 1 and where is a - put a 0. Examples:

U G O
r w x r w x r w x
1 1 1 1 1 1 1 1 1

So, user, group and others can read, write and excute the file or folder

U G O
r w - r -- r - x
1 1 0 1 0 0 1 0 1

So, user can read and write, group can only read, finally other can read and execute

As you can see, we can play with these permissions

U G O
r - x r w - - - -
1 0 1 1 1 0 0 0 0
U G O
- w x r - x - - x
0 1 1 1 0 1 0 0 1

Finally, the codes! (sorry)

Bin Decimal Representation
000 0 - - -
001 1 - - x
010 2 - w -
011 3 - w x
100 4 r - -
101 5 r - x
110 6 r w -
111 7 r w x

The syntax is something like this: $ chmod u/permissions g/permissions o/permissions file[or /dir/]

  • So, if I run $ chmod 777 file <=> rwx rwx rwx everybody can do anything with file
  • Or I run $ chmod 744 dir <=> rwx r-- r--only user can read, write and execute, group and others only read dir.
  • Or run $ chmod 200 file2 <=> -w- --- ---only you can write file2

Thanks for reading, I hope it works! Follow me on Twita and GitHub

Refs:

  1. http://www.pa.msu.edu/~abdo/unixcc.html
  2. http://www.yourownlinux.com/2013/09/chmod-basics-of-filesdirectories.html

Special thanks:

@GabeKutuzov

This comment has been minimized.

Copy link

@GabeKutuzov GabeKutuzov commented Nov 18, 2020

I made some changes in my fork for spelling errors.
https://gist.github.com/GabeKutuzov/ec788f2d8456fadf7754a61a6a5ed9b0

Thank you for this gist

@juanarbol

This comment has been minimized.

Copy link
Owner Author

@juanarbol juanarbol commented Nov 23, 2020

I made some changes in my fork for spelling errors.
https://gist.github.com/GabeKutuzov/ec788f2d8456fadf7754a61a6a5ed9b0

Thank you for this gist

Thank you Gabe! I've updated the gist and added you to the credits. :)

@GabeKutuzov

This comment has been minimized.

Copy link

@GabeKutuzov GabeKutuzov commented Dec 21, 2020

I made some changes in my fork for spelling errors.
https://gist.github.com/GabeKutuzov/ec788f2d8456fadf7754a61a6a5ed9b0
Thank you for this gist

Thank you Gabe! I've updated the gist and added you to the credits. :)

Awesome! Just saw. Thank you.

@wtfc0d3

This comment has been minimized.

Copy link

@wtfc0d3 wtfc0d3 commented Jun 25, 2021

1 execute
2 write
4 read

1+2+4=7: execute, write and read
1+4=5: execute + read
2+4=6: write and read

@desrev3r

This comment has been minimized.

Copy link

@desrev3r desrev3r commented Jul 15, 2021

thanks a lot, you saved my day.

@mttaborturtle

This comment has been minimized.

Copy link

@mttaborturtle mttaborturtle commented Sep 9, 2021

Thank you for putting this up! I'm always coming back to the classics!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment