chmod Calculator
Checkboxes ↔ octal ↔ symbolic, instantly.
● Runs 100% in your browser — nothing you type leaves this page.
Permissions
| Read | Write | Execute | # | |
|---|---|---|---|---|
| Owner | 7 | |||
| Group | 5 | |||
| Others | 5 |
Special bits
Commands
$ chmod 755 file$ chmod u=rwx,g=rx,o=rx fileExamples
The address bar updates as you go, so you can bookmark or share the result.
How to use it
Tick the boxes for the owner, the group and everyone else — or type a value like 755 or rwxr-xr-x straight into the fields. Every view stays in sync, and the commands at the bottom are ready to paste into your terminal.
How Linux permissions work
Every file has three sets of permissions:
| Who | Letter | Meaning |
|---|---|---|
| Owner | u |
the user who owns the file |
| Group | g |
members of the file’s group |
| Others | o |
everyone else |
Each set can read (r = 4), write (w = 2) and execute (x = 1). Add the numbers to get one digit per set: rwx = 4 + 2 + 1 = 7, r-x = 4 + 1 = 5. That’s why rwxr-xr-x is 755.
Common values
| Octal | Symbolic | Typical use |
|---|---|---|
644 |
rw-r--r-- |
regular files, config files |
755 |
rwxr-xr-x |
directories, scripts, binaries |
600 |
rw------- |
private files, SSH private keys |
700 |
rwx------ |
private directories like ~/.ssh |
640 |
rw-r----- |
files a service group needs to read |
1777 |
rwxrwxrwt |
shared directories like /tmp |
Special bits
- setuid (
4000): an executable runs with its owner’s privileges. That’s howpasswdcan update/etc/shadow. - setgid (
2000): on an executable, it runs with the group’s privileges. On a directory, new files inherit the directory’s group — handy for shared project folders. - sticky (
1000): on a directory, only a file’s owner (or root) can delete or rename it, even if others can write to the directory./tmpuses it.
In ls -l output, a lowercase s or t means the execute bit is also set; uppercase S or T means it isn’t.
Shell, we have a problem!
chmod -R 777 is almost never the fix. It lets every user on the system change your files — including scripts that run as root. Find out which user needs access and grant exactly that.
FAQ
What does execute mean for a directory?
For directories, x means “may enter and access files inside”. Without it, you can’t cd into the directory, even if you can list its names with r.
How do I set different permissions for files and directories?
Use find to target each type separately:
find /var/www/site -type d -exec chmod 755 {} +find /var/www/site -type f -exec chmod 644 {} +What’s the difference between chmod 755 and chmod u=rwx,g=rx,o=rx?
Nothing — they set exactly the same permissions. The symbolic form is easier to read, and it also lets you change one bit without touching the rest, like chmod g+w file.
Articles
Learn more
"Permission denied" when running a script: 5 causes and fixes
Fix "bash: ./script.sh: Permission denied" and "bad interpreter" on Linux: execute bits, noexec mounts, directory permissions, Windows line endings and shebangs.
Beginner · 4 min read
SSH "Permission denied (publickey)": how to find the real cause
Fix SSH "Permission denied (publickey)": read the server log, fix ~/.ssh permissions, check the key and sshd_config, and handle SELinux on RHEL.
Intermediate · 3 min read