Basic
Permission |
Number |
Character |
Read |
4 |
r |
Write |
2 |
w |
Execute |
1 |
x |
We can use these value combination for changing permission.
For example,
Permission |
Number |
Character |
Read + Write + Execute |
4+2+1=7 |
rwx |
Read + Write |
4+2=6 |
rw |
Read |
4 |
r |
Cheat Sheet
Read/Write/Execute
Target |
Command |
User |
chmod 700 sample.txt |
|
chmod u+rwx sample.txt |
Group |
chmod 070 sample.txt |
|
chmod g+rwx sample.txt |
Others |
chmod 007 sample.txt |
|
chmod o+rwx sample.txt |
All |
chmod 777 sample.txt |
|
chmod a+rwx sample.txt |
Read/Write
Target |
Command |
User |
chmod 600 sample.txt |
|
chmod u+rw sample.txt |
Group |
chmod 060 sample.txt |
|
chmod g+rw sample.txt |
Others |
chmod 006 sample.txt |
|
chmod o+rw sample.txt |
All |
chmod 666 sample.txt |
|
chmod a+rw sample.txt |
Read/Execute
Target |
Command |
User |
chmod 500 sample.txt |
|
chmod u+rx sample.txt |
Group |
chmod 050 sample.txt |
|
chmod g+rx sample.txt |
Others |
chmod 005 sample.txt |
|
chmod o+rx sample.txt |
All |
chmod 555 sample.txt |
|
chmod a+rx sample.txt |
Write/Execute
Target |
Command |
User |
chmod 300 sample.txt |
|
chmod u+wx sample.txt |
Group |
chmod 030 sample.txt |
|
chmod g+wx sample.txt |
Others |
chmod 003 sample.txt |
|
chmod o+wx sample.txt |
All |
chmod 333 sample.txt |
|
chmod a+wx sample.txt |
Set SUID/GUID
By adding SUID or GUID, we can execute the file as the file owner/group.
This may cause local privilege escalation.
# SUID for user owner
chmod u+s /opt/example.sh
# GUID for group owner
chmod g+s /opt/example.sh