Skip to main content

Linux Chmod File Permissions Calculator (Octal & Symbolic)

Convert Linux chmod octal (755, 644, 4750) and symbolic (-rwxr-xr-x) permissions, calculate umask, audit 777 security risks, and view breakdown tables.

Input Parameters

Try Example:

Calculation Results

Octal Notation (3-Digit)
755
Full Octal Notation (4-Digit)
0755
POSIX Symbolic Notation
rwxr-xr-x
Regular File Permission String
-rwxr-xr-x
Directory Permission String
drwxr-xr-x
Owner (User) Permissions
Read (4), Write (2), Execute (1)
Group Permissions
Read (4), Execute (1)
Others (World) Permissions
Read (4), Execute (1)
Special Permission Bits (SetUID / SetGID / Sticky)
None (0)
Special Permission Bits Active
No / Inactive
Active Umask Filter Value
0022
Default New File Mode (Base 0666)
0644 (-rw-r--r--)
Default New Directory Mode (Base 0777)
0755 (drwxr-xr-x)
Permission Security Risk Assessment
Standar aman. Pengguna lain hanya memiliki izin baca/eksekusi dan tidak dapat memodifikasi file.
Want to compare 2 design options side-by-side (e.g., Scenario A vs Scenario B)?
⚡ Production Security & Ops Standard
Debian 12 / Ubuntu 24.04 LTS + Nftables + Systemd Timer
CIS Benchmark Level 1 • Non-Root SSH Key-Only + Fail2ban/CrowdSec

Validate firewall rulesets and cron timers in staging before production rollout.

Permission Bit Breakdown Table (Owner, Group, Others)
User Entity ClassOctal DigitRead Bit (r)Write Bit (w)Execute Bit (x)Effective Operations
Owner (User / u)7r (4)w (2)x (1)Read (4), Write (2), Execute (1)
Group (g)5r (4)- (0)x (1)Read (4), Execute (1)
Others (World / o)5r (4)- (0)x (1)Read (4), Execute (1)
Octal Chmod Command
chmod 755 <target>
Symbolic Chmod Command
chmod u=rwx,g=rx,o=rx <target>
Recursive Directory Chmod Command (-R)
chmod -R 755 <directory>
Umask Shell Command
umask 022
Share to WhatsApp

How to Use This Tool

  1. Select a popular permission preset (such as 755 for public folders, 644 for web assets, or 600 for private keys) or enter a custom octal value.
  2. Inspect the generated symbolic notation (rwxr-xr-x), special permission flags (SetUID, SetGID, Sticky bit), and system security assessment.
  3. Adjust the umask filter (such as 022 or 027) to observe automatic inheritance on new files and directories, then copy the generated chmod commands.

Worked Example: Standard Web & Directory Permissions (755)

Worked example: The octal value '755' produces symbolic permissions 'rwxr-xr-x' (File: -rwxr-xr-x, Directory: drwxr-xr-x). The owner holds full control (Read, Write, Execute), while group and world receive read and execute rights only. Applying umask '022', newly created regular files default to 0644 (-rw-r--r--) and directories default to 0755 (drwxr-xr-x).

Example Input
Standard Linux Permission Preset
755 (rwxr-xr-x) — Public Directory & Binaries
Octal Permission Value (3 or 4 Digits)
755
System Umask Value (Default Creation Filter)
022
Calculated Output
Octal Notation (3-Digit)
755
Full Octal Notation (4-Digit)
0755
POSIX Symbolic Notation
rwxr-xr-x
Regular File Permission String
-rwxr-xr-x
Directory Permission String
drwxr-xr-x
Owner (User) Permissions
Read (4), Write (2), Execute (1)
Group Permissions
Read (4), Execute (1)
Others (World) Permissions
Read (4), Execute (1)
Special Permission Bits (SetUID / SetGID / Sticky)
None (0)
Special Permission Bits Active
No / Inactive
Active Umask Filter Value
0022
Default New File Mode (Base 0666)
0644 (-rw-r--r--)
Default New Directory Mode (Base 0777)
0755 (drwxr-xr-x)
Permission Security Risk Assessment
Standar aman. Pengguna lain hanya memiliki izin baca/eksekusi dan tidak dapat memodifikasi file.
Octal Chmod Command
chmod 755 <target>
Symbolic Chmod Command
chmod u=rwx,g=rx,o=rx <target>
Recursive Directory Chmod Command (-R)
chmod -R 755 <directory>
Umask Shell Command
umask 022
Permission Bit Breakdown Table (Owner, Group, Others)
User Entity ClassOctal DigitRead Bit (r)Write Bit (w)Execute Bit (x)Effective Operations
Owner (User / u)7r (4)w (2)x (1)Read (4), Write (2), Execute (1)
Group (g)5r (4)- (0)x (1)Read (4), Execute (1)
Others (World / o)5r (4)- (0)x (1)Read (4), Execute (1)

Core Concept & Engineering Notes

The file permission architecture in Unix and Linux operating systems forms the kernel-level discretionary access control foundation governing how users and background processes interact with filesystem nodes. Standard POSIX permissions categorize rights into three entity tiers (user/owner, group, and others/world) across three atomic operations: read (value 4), write (value 2), and execute (value 1). Summing these binary bit weights produces an octal digit between 0 and 7 for each tier, yielding canonical permission triplets such as 755 (rwxr-xr-x) for binaries and directories, or 644 (rw-r--r--) for static documents and configuration files. Beyond standard permissions, Unix environments support three special permission bits prepended as a fourth leading octal digit: SetUID (octal 4000), SetGID (octal 2000), and the Sticky Bit (octal 1000). SetUID executes binaries with the effective privileges of the file owner (such as the root-owned passwd binary), SetGID forces newly created child items to inherit the parent directory's group ownership, and the Sticky Bit (ubiquitous on public /tmp folders) prevents unprivileged users from deleting or renaming files owned by others. Simultaneously, the Linux environment enforces a creation mask known as umask (user file-creation mode mask) to establish initial permissions for newly generated files and folders. Newly minted regular files utilize a base permission mask of 0666, while directories utilize 0777. The active umask operates as a bitwise complement filter, stripping designated bits from these base masks. Mastering the mathematical relationship between octal values, symbolic strings, and umask filters is indispensable for sysadmins and security engineers safeguarding enterprise servers against privilege escalation and sensitive file tampering. In production infrastructure—ranging from Nginx and PHP-FPM web roots to systemd service units and SSH keystores—misconfigured permissions remain a leading cause of security breaches. Applying chmod 0777 as a quick workaround for Permission Denied errors exposes directories to arbitrary code modification by any compromised local service account. Conversely, cryptographic material such as ~/.ssh/id_ed25519 private keys and application .env secrets must be strictly restricted to 0600 (rw-------) to satisfy OpenSSH strict mode checks and uphold least-privilege isolation.

How It Was Calculated (Formulas & Steps)

Frequently Asked Questions (FAQ)

Why do newly created files in Linux never receive execute permissions (+x) by default?

For operating system security, the Linux kernel initializes regular files with base mode 0666 (rw-rw-rw-) rather than 0777. This prevents arbitrary text documents, downloads, or uploaded user assets from being accidentally executed as malicious binaries.

When are SetUID (4000) and SetGID (2000) permission bits applied?

SetUID is applied to system binaries that require temporary elevated privileges (like /usr/bin/passwd). SetGID is used on shared directory collaboration workspaces so that any newly created files automatically inherit the parent directory's group ownership.

What is the purpose of the Sticky Bit (1000) on the /tmp directory?

The Sticky Bit ('t' in the final symbolic slot) prevents unprivileged users from deleting or renaming files owned by others in publicly writeable shared folders. Only the file owner and superuser (root) can delete the file.

Why is permission 777 strongly prohibited on production servers?

Permission 777 (rwxrwxrwx) grants unrestricted read, modification, deletion, and execution rights to every account on the system, including web service accounts like www-data. Attackers routinely exploit 777 folders to plant web shells and compromise the host.