Understanding File Permissions
Every file and directory in Linux has permissions controlling who can read, write, or execute it.
Reading permissions
ls -la
-rwxr-xr-- 1 student student 1234 Jan 15 10:00 script.sh
Permission structure
- rwx r-x r--
[1] [2] [3] [4]
- Type:
-file,ddirectory,lsymlink - Owner permissions (rwx)
- Group permissions (r-x)
- Others permissions (r--)
Permission characters
| Char | Meaning | Value |
|---|---|---|
r | Read | 4 |
w | Write | 2 |
x | Execute | 1 |
- | No permission | 0 |
Numeric (octal) notation
Permissions are often written as 3 digits:
755 = rwxr-xr-x
644 = rw-r--r--
600 = rw-------
777 = rwxrwxrwx
Calculate: add the values for each permission:
rwx= 4+2+1 = 7r-x= 4+0+1 = 5r--= 4+0+0 = 4
Common permission sets
| Octal | Symbolic | Use case |
|---|---|---|
| 644 | rw-r--r-- | Regular files |
| 755 | rwxr-xr-x | Executables, directories |
| 600 | rw------- | Private files |
| 700 | rwx------ | Private directories |