What is Unix File Permissions Calculator?
Unix File Permissions Calculator converts between symbolic notation (rwxr-xr--), octal notation (755), and descriptive explanations for Unix/Linux file permissions. Enter permissions in any format โ click the checkboxes, type an octal number, or paste symbolic notation โ and see all representations plus a plain-English description of what each permission allows.
Unix file permissions control who can read, write, and execute a file. Three groups of permissions apply: owner (user), group, and others (everyone else). Each group has three bits: read (r, value 4), write (w, value 2), and execute (x, value 1). Octal permissions are the sum of these values: 7 = rwx (4+2+1), 5 = r-x (4+1), 4 = r-- (4). The permission 755 means: owner can read/write/execute, group and others can read/execute.
Understanding permissions is essential for Linux system administration, web server configuration, and development. A web server needs files to be readable by the www-data or nginx user. Private key files (.pem) must be 600 (owner read/write only) or SSH refuses to use them. Scripts must have execute permission (chmod +x script.sh) to run directly. Directories need execute permission to be entered (cd).
How to Use
- Click the checkboxes in the Owner, Group, and Others columns to set permissions visually.
- Or type an octal value (e.g., 755, 644, 600) in the octal input field.
- Or paste symbolic notation (e.g., rwxr-xr--) in the symbolic field.
- Read the plain-English description to verify the permission does what you intend.
- Copy the chmod command from the output (e.g., chmod 755 file.sh) for direct use.
Examples
755 (rwxr-xr-x)
Result: Owner: read, write, execute / Group: read, execute / Others: read, execute โ standard for executables and directories
644 (rw-r--r--)
Result: Owner: read, write / Group: read / Others: read โ standard for regular files (web content, configs)
600 (rw-------)
Result: Owner: read, write / Group: none / Others: none โ required for SSH private keys (.pem files) and sensitive configs
Frequently Asked Questions
What does the execute bit mean for a directory?
For a directory, the execute bit means 'can enter this directory' (cd into it). Without execute permission, you cannot list its contents even if you have read permission, because read on a directory only allows you to see filenames, not access them. Standard directory permissions are 755 (owner full, others read and traverse).
What is setuid/setgid/sticky bit?
These are special permission bits shown as a 4th octal digit. setuid (4000): when set on an executable, it runs as the file's owner (not the caller) โ used by sudo and passwd. setgid (2000): on executables, run as the file's group; on directories, new files inherit the directory's group. Sticky bit (1000): on directories, only the file's owner can delete it โ used on /tmp.
How do I recursively change permissions?
Use chmod -R [permissions] [directory]. For example: chmod -R 755 /var/www/html sets all files and directories to 755. Warning: this applies the same permissions to both files and directories, which may not be what you want. A better approach: find /var/www/html -type d -exec chmod 755 {} + for directories and find /var/www/html -type f -exec chmod 644 {} + for files.
What permissions should a web server directory have?
Web server files: 644 (owner rw, group and others r). Web server directories: 755. Scripts that must run: 755. Private keys and credentials: 600 or 400. The web server user (www-data, nginx, apache) must be able to read files โ usually by belonging to the file's group or via world-readable permissions.
What is umask?
umask is a mask subtracted from the default permissions when files are created. Default file permissions are 666 (rw-rw-rw-); default directory permissions are 777 (rwxrwxrwx). A umask of 022 subtracts write from group and others: files get 644, directories get 755. Check your current umask with the umask command; change it for the session with umask 027.
Related Tools