How this instrument works
Unix and Linux file permissions are split into three classes — owner, group, and other (everyone else) — and each class can independently be granted read, write and execute rights. The `chmod` command sets these permissions using a compact three-digit octal number, one digit per class, because octal is a natural shorthand for three independent yes/no flags packed into one number.
Each digit is built the same way: read is worth 4, write is worth 2, and execute is worth 1. Add up whichever of those apply to a class and you get that class's digit, from 0 (nothing) to 7 (read, write and execute all granted). Because 4, 2 and 1 are all distinct powers of two, every combination of the three permissions produces a unique sum — there's no ambiguity going from checkboxes to digit or back again.
This instrument mirrors that logic directly: tick read, write and execute for each of the three classes, and it sums 4r + 2w + 1x per class to produce the owner, group and other digits, which read together as the chmod number you'd type at a terminal — for example 754 or 644.
Knowing this encoding by heart is a genuine time-saver at the command line, since `chmod 755 script.sh` is faster to type than the symbolic equivalent `chmod u=rwx,g=rx,o=rx script.sh` — but it only pays off once the 4-2-1 mapping is second nature, which is exactly what working through a few examples here builds.
- For Owner, tick Yes or No for read, write and execute — these are the permissions the file's owning user gets.
- Repeat for Group — the permissions granted to users in the file's group.
- Repeat for Other — the permissions granted to everyone else on the system.
- Read the three digits under Owner octal digit, Group octal digit and Other octal digit — combined in order, they're the number you'd pass to chmod, e.g. 7, 5, 4 means `chmod 754`.
- Toggle any box to see the affected digit update immediately, so you can check how a single permission change shifts the octal number before typing a command.
Worked example — rwxr-xr--, the textbook chmod 754
Set Owner to read: Yes, write: Yes, execute: Yes. Owner octal digit = 4(1) + 2(1) + 1(1) = 7. Set Group to read: Yes, write: No, execute: Yes. Group octal digit = 4(1) + 2(0) + 1(1) = 5. Set Other to read: Yes, write: No, execute: No. Other octal digit = 4(1) + 2(0) + 1(0) = 4.
Together those three digits read 7, 5, 4 — this is the permission string rwxr-xr-- written in octal, and it's the single most commonly taught chmod example because it shows a full-access owner, a read-and-execute group, and a read-only 'other' class in one line: `chmod 754 script.sh`.
Questions
How do I get chmod 755 or 644 from the checkboxes?
755 is owner: read+write+execute (4+2+1=7), group: read+execute (4+0+1=5), other: read+execute (4+0+1=5) — the standard permission for a script or executable everyone should be able to run but only the owner can edit. 644 is owner: read+write (4+2+0=6), group: read only (4+0+0=4), other: read only (4+0+0=4) — the standard permission for a plain data or text file. Tick the boxes to match either pattern and the instrument builds the digits for you.
Why does read always add 4, write always add 2, and execute always add 1?
Because 4, 2 and 1 are the first three powers of two (2^2, 2^1, 2^0), so every one of the eight possible combinations of the three flags — from 000 (nothing) to 111 (all three) — sums to a different number between 0 and 7. That's what lets a single octal digit represent three independent on/off permissions with no overlap or ambiguity.
What's the difference between chmod 777 and chmod 000?
777 grants read, write and execute to owner, group and other alike — every class gets full access, which is almost always a security mistake on a real system since it lets any user modify or run the file. 000 is the opposite extreme: no class, not even the owner, has any permission at all, so the file can't be read, written or executed by anyone until permissions are changed again (typically by root or via a filesystem override).
What does the execute bit actually do on a directory versus a file?
On a regular file, execute means the file can be run as a program or script. On a directory, execute means a user can enter it and access files inside by name (traverse it) — it does not mean 'run' in the file sense. That's why directories commonly carry execute alongside read (e.g. 755) even though nobody is 'executing' a folder; without it, users can't cd into it or open files inside even if they have read permission on the directory listing itself.
Can I use this for symbolic chmod notation like u+x instead of octal?
This instrument outputs the octal digits (e.g. 754), not the symbolic form (u=rwx,g=rx,o=r), but the two are directly equivalent — u, g, o correspond to owner, group and other here, and rwx maps to the same read/write/execute flags. If your workflow uses symbolic chmod, you can still use the checkboxes to reason out which letters belong in each class before typing the symbolic command.