Linux Chmod, Symbolic & Umask Calculator
Convert between numeric octal modes (755, 644, 4755) and POSIX symbolic permissions (-rwxr-xr-x), including SetUID/SetGID/Sticky bits and default umask masks.
Permission Summary & CLI Commands
How Linux POSIX File Permissions, Special Bits & Umask Work
Every file and directory on Linux, BSD, and macOS filesystems carries four octal permission groups: an optional leading special mode digit followed by three 3-bit triads for the Owner (user), Group, and Others (world). Inside each triad, Read equals 4 (r), Write equals 2 (w), and Execute equals 1 (x). Summing the active bits produces familiar modes such as 0755 (owner full access, group and world read/execute) or 0600 (owner read/write only, required by OpenSSH for ~/.ssh/id_ed25519 keys).
Three high-order special bits solve advanced multi-user scenarios: SetUID (4000) runs an executable under the file owner's privileges; SetGID (2000) on a directory ensures newly created files inherit the parent directory's group ownership rather than the creator's primary group; and the Sticky Bit (1000) on shared directories like /tmp (1777) prevents non-owners from deleting other users' files.
When processes create new files or directories, the kernel subtracts the shell's bitwise umask from base modes 0666 (regular files, never executable by default) and 0777 (directories, which require execute permission to traverse).