Linux Permissions: Read, Write and Execute Explained
Learn how file and folder permissions work on Linux without getting lost in the symbols.
Every file and folder in Linux has permissions that determine who can read it, modify it or run it — understanding this explains many "permission denied" messages you will see sooner or later.
The three types of permission
| Permission | Letter | What it allows |
|---|---|---|
| Read | r | View the content |
| Write | w | Modify or delete |
| Execute | x | Run as a program/script |
The three levels: who has those permissions
- Owner: the person who owns the file.
- Group: a set of users sharing the same permissions.
- Others: any other user on the system.
Seeing it in practice
ls -l file.txt
Typical result: -rw-r--r-- — from left to right: file
type, owner's permissions, group's, and others', in groups of three
letters each.
Tip: we go deeper into reading specific numeric combinations (like 755 or 644) in this dedicated article.
Changing permissions
chmod +x script.sh
Adds execute permission — needed before you can run any script you have created or downloaded yourself.
Frequently asked questions
Why can't I run a script I just created?
Because by default new files don't have execute permission. Use 'chmod +x script-name.sh' to add it before you can run it with './script-name.sh'.
What is the difference between owner, group and others?
The owner is the person who owns the file; the group is a set of users with shared permissions; others is any additional user on the system. Each can have different permissions on the same file.