Chmod Linux Permissions Calculator

Convert between octal permission modes (755, 0644), symbolic notation (-rwxr-xr-x), and interactive Owner/Group/Public bits.

Interactive two-way binding between octal, symbolic, and permission bits.
4-Digit Octal 0755
Symbolic Notation -rwxr-xr-x
Shell Command chmod 755 filename
Binary Mask 111 101 101

Interactive Permission Matrix (Owner / Group / Public & Special Bits)

Scope Read (4) Write (2) Execute (1)
Owner (User)
Group
Public (Others)
Special Bits

Understanding Linux Octal & Symbolic File Permissions

POSIX file permissions divide access into three classes—Owner (u), Group (g), and Others (o)—each composed of Read (4), Write (2), and Execute (1) bits, plus optional Setuid (4000), Setgid (2000), and Sticky (1000) mode flags. Editing the octal value, symbolic string, or matrix checkboxes updates all representations instantaneously.

Octal & Binary Bitwise Math

Each octal digit sums Read (4), Write (2), and Execute (1). For example, rwx equals 4 + 2 + 1 = 7, r-x equals 4 + 0 + 1 = 5, and r-- equals 4 + 0 + 0 = 4.

Setuid, Setgid & Sticky Bits

Supports 4-digit octal modes: Setuid (4000, displayed as s/S in owner execute), Setgid (2000, displayed as s/S in group execute), and the Sticky bit (1000, displayed as t/T on shared directories like /tmp).

Security Presets for Servers

Quickly load best-practice permissions for web root directories (0755), static configuration files (0644), and private SSH keys or TLS certificates (0600).

Frequently Asked Questions

Why does SSH reject private keys that are not chmod 600 or 400?

OpenSSH enforces strict permission checks on ~/.ssh/id_rsa and ~/.ssh/id_ed25519. If group or world permissions are non-zero (e.g., 0644), SSH refuses to use the key with UNPROTECTED PRIVATE KEY FILE!. Run chmod 600 ~/.ssh/id_ed25519 to restrict read/write strictly to the file owner.

What is the difference between lowercase s/t and uppercase S/T in symbolic notation?

Lowercase s or t indicates that both the special bit (Setuid/Setgid/Sticky) and the underlying regular execute bit (x) are set. Uppercase S or T means the special bit is set without the underlying execute bit.