Textual representation "-rwxr--r-":
10 characters: file type, owner perms, group perms, other perms
d = Directory (first bit)
- = File (first bit)
r = Read access
w = Write access
x = Execute access
- = No access
Numeric represenation "644":
Octal Text Binary
0 --- 000
1 --x 001
2 -w- 010
3 -wx 011
4 r-- 100
5 r-x 101
6 rw- 110
7 rwx 111
Access Type File Directory
Read If file contents can be read If the directory list can be obtained
Write If user or process can write If user or process can change directory contents, create files etc
Execute If file can be executed If user or process can access directory, i.e. cd into it
UNIX Special Bits
SUID or setuid:
Change user ID on execute. If bit set, when file executed by user, the process will have same
rights as the owner of the file being executed.
SGID or setgid:
Change group ID on execute. If bit set, when file executed by user, the process will have same
rights as the group of the owner of the file.
For directories, it may mean that when a new file is created it will inherit the group of the
directory, not the user who created the file.
Sticky Bit:
Used to trigger process to "stick" in memory after it is finished, now obsolete.
Currently its use is system dependent and mostly used to suppress deletion of the files that
belong to the other users in the folder you have "write" access too.
Numeric Representation:
Octal Binary Meaning
0 000 setuid, setgid, and sticky bits are cleared
1 001 sticky bit is set
2 010 setgid is set
3 011 setgid and sticky bits set
4 100 setuid is set
5 101 setuid and sticky bits set
6 110 setuid and setgid bits set
7 111 setuid, setgid and sticky bits are set
Textual Representation:
SUID
Replaces "x" in the ownder permissions to "s", if owner has execute permissions, or to
"S" otherwise.
-rws------ both ownder execute and SUID are set
-r-S------ SUID is set, but owner execute not set
SGID
Replaces "x" in thr group permissions to "s", if group has execute permissions, or to
"S" otherwise.
-rwxrws--- both group execute and SGID are set
-rwxr-S--- SGID set, but group execute is not
Sticky
Replaces "x" in the others permissions to "t", if others have execute permissions, or to
"T" otherwise.
-rwxrwxrwt both others execute and sticky bit are set
-rwxrwxr-T sticky bit is set, but others execute is not set