Linux Permission Reference

Interactive Linux file permission reference with converter, presets, umask calculator, and ACL guide.

About This Tool

The Linux Permission Reference is a comprehensive, browser-based tool that helps developers and system administrators understand, convert, and look up Linux file permissions. Whether you are configuring an SSH key, setting up a web server document root, or troubleshooting a "permission denied" error, this tool provides everything you need in one place.

The interactive permission converter lets you toggle read, write, and execute bits for owner, group, and others through a visual matrix. As you click, the octal notation, symbolic notation, and the corresponding chmod command update in real time. You can also type an octal value like 755 or a symbolic string like rwxr-xr-x and see the matrix update instantly.

Beyond basic permissions, the tool covers special permission bits (setuid, setgid, and sticky bit) with detailed explanations of when and why to use each one. The umask calculator shows you exactly what permissions new files and directories will receive based on any umask value, and the ACL reference section introduces Access Control Lists for scenarios where traditional owner/group/others permissions are not granular enough.

The common permission scenarios table is a searchable quick-reference for real-world situations: SSH keys, web server files, shared project directories, log files, SSL certificates, and more. Every scenario includes the recommended permission, symbolic notation, and a brief explanation of why that specific permission is appropriate.

All processing happens entirely in your browser. No data is transmitted to any server, making it safe to use on production systems. You can also use our Chmod Calculator for a focused octal/symbolic converter, or explore the Shell Script Linter to validate scripts that set permissions programmatically.

How to Use

  1. Open the Permission Converter tab to start with the interactive permission matrix.
  2. Click the r, w, x buttons for each role (Owner, Group, Others) to toggle permissions.
  3. Alternatively, type an octal value (e.g. 755) or symbolic notation (e.g. rwxr-xr-x) in the input fields.
  4. Enable special bits (SUID, SGID, Sticky) below the matrix if needed.
  5. Copy the resulting octal value, symbolic notation, or full chmod command with the copy buttons.
  6. Switch to the Common Presets tab to browse and apply standard permission combinations.
  7. Use the Umask Calculator tab to understand how umask values affect new file and directory permissions.
  8. Explore Permission Scenarios to find the right permissions for common real-world situations like SSH keys or web server files.
  9. Review the ACL Reference tab for advanced per-user and per-group permission configuration.

Popular Linux Permission Examples

View all Linux permission examples →

FAQ

Is my data safe when using this tool?

Yes. This tool runs entirely in your browser using JavaScript. No data is sent to any server, and there is no logging or analytics on your input. It is safe to use even when referencing permissions for production systems.

What is the difference between octal and symbolic notation?

Octal notation uses numbers (e.g. 755) where each digit represents a sum of read (4), write (2), and execute (1) bits. Symbolic notation uses letters (e.g. rwxr-xr-x) where r=read, w=write, x=execute, and - means no permission. Both represent the same permissions; octal is compact while symbolic is more readable.

What are setuid, setgid, and sticky bit?

Setuid (4xxx) makes an executable run with the file owner's privileges. Setgid (2xxx) on files runs with the group's privileges; on directories, it makes new files inherit the directory's group. Sticky bit (1xxx) on directories prevents users from deleting files they do not own, even with write permission on the directory.

What permission should I use for SSH keys?

SSH private keys must be 600 (owner read-write only). SSH will refuse to use keys with broader permissions. The .ssh directory should be 700, and authorized_keys should be 600. Public keys can be 644.

What is umask and how does it work?

Umask is a mask that removes permissions from the system defaults (666 for files, 777 for directories) when creating new files. For example, umask 022 results in new files with 644 and new directories with 755. The formula is: default AND NOT umask = result.

When should I use ACLs instead of standard permissions?

Use ACLs when you need to grant different permissions to multiple specific users or groups beyond the single owner and single group that standard permissions support. Common scenarios include shared project directories where different teams need different access levels.

Why should I never use 777 permissions?

Permission 777 means every user on the system can read, write, and execute the file. This is a significant security risk, especially for web-accessible files where it could allow unauthorized code execution or data modification. Use the minimum permissions necessary for the task.

Related Tools