chmod 700 — what rwx------ means
700
rwx------
The owner can read, write, and execute; the group and others get nothing at all.
Permission breakdown
When to use 700
- Private directories holding personal or sensitive data. 700 (rwx------) gives the owner full read/list/traverse while group and others get nothing — the right default for
~/.ssh,~/.gnupg,~/.aws, or any per-user config dir that must never be entered by anyone else. SSH and GPG actively refuse to work if these dirs are looser. - Per-user home directories on a shared host. On a multi-tenant box, setting each
/home/aliceto 700 means other logged-in users can't evencdinto someone else's home or see its contents — a hard privacy wall enforced by the missing execute bit for others. - Owner-only private scripts. A maintenance or deploy script that contains nothing others should run or read — 700 lets the owner execute and edit it while keeping the logic completely hidden from group and world.
- Build, cache, or scratch dirs for a single service account. A daemon's working directory that only its own UID needs to write and traverse; 700 prevents any other account from snooping or planting files.
Common mistakes & gotchas
- 700 on a file is rarely what you mean. The execute bit only makes sense on a directory (traverse) or a runnable program. Applying 700 to a plain data file just marks it executable for the owner with no benefit — for owner-only data use 600 (rw-------) instead.
- root ignores these bits entirely. 700 protects you from other normal users, not from root. Anyone with superuser (or the host's storage backend) can still read everything. Don't treat permissions as a substitute for encryption-at-rest for truly secret data.
- A 700 parent can lock you out of looser children. Even if a file deep inside is 644, no one but the owner can reach it if any ancestor directory is 700 — directory execute is required to traverse the path. This is a feature for privacy but a frequent cause of 'permission denied' on web/shared paths.
- SSH/GPG will silently refuse on the wrong owner. 700 satisfies the strictness check only if you also own the directory. A
~/.sshthat's 700 but owned by root (common after a carelesssudo) still breaks key auth.
700 vs the alternatives
- 750 (rwxr-x---) when a specific group should be able to enter and read — e.g. a dir shared with a deploy or web group. 700 keeps it strictly to the owner; 750 opens it to one trusted group while still excluding the world.
- 600 (rw-------) is the file-level equivalent of 700's intent: owner-only, no execute. Rule of thumb: private directories and private scripts → 700; private data files (keys, password configs) → 600.
- 711 (rwx--x--x) lets others traverse through the directory to reach known paths without listing it. Choose 711 over 700 when a service (like a web server) must reach files inside but should never see the directory's contents.
Set it with chmod
Apply this permission to a single file:
chmod 700 filename
Or apply it recursively to a directory and everything inside it:
chmod -R 700 directory/
The same thing in symbolic form:
chmod u=rwx,g=,o= filename
Frequently asked questions
What does chmod 700 mean?
chmod 700 sets rwx------: the owner can read, write, and execute (list/enter for a directory); group and others get no access at all. It's the standard 'owner-only' permission for private directories and personal scripts.
Why does SSH require 700 on ~/.ssh?
SSH treats private keys as secrets, so it refuses to use a key directory that other users could read or enter. 700 (and 600 on the key files) guarantees only your account can access them, satisfying SSH's strict-permission check.
Should I use 700 or 600 for a file?
Use 600 for a plain data file you want owner-only — it grants read/write without a meaningless execute bit. Reserve 700 for directories and for scripts the owner actually runs.
Can other users see inside a 700 directory?
No. Without the execute and read bits, group and others can't list the contents or even cd into it. Only the owner (and root) can. This makes 700 a reliable per-user privacy boundary on shared systems.
Other common permissions
Or build any permission with the interactive chmod calculator.