Permission Denied — the process does not have permission to access the resource
What 13 Means
The 13 error on the Linux system-errors indicates permission denied — the process does not have permission to access the resource. This typically occurs due to attempting to read or write a file without sufficient privileges.
Error 13 (EACCES) occurs when the kernel prevents a process from performing a file system operation due to existing permission bits (owner, group, others) or ACLs.
Technical Background
Error 13 (EACCES) is a kernel-level enforcement of security policy. It means the system call requested by the process was blocked because the user account running the process does not have the necessary permissions for that specific file or directory.
This can happen even for the 'root' user in environments with Mandatory Access Control (MAC) systems like SELinux or AppArmor, which can restrict even superuser access based on security profiles.
Common Causes
- Attempting to read or write a file without sufficient privileges
- Executing a script that does not have the executable bit set
- Accessing a directory restricted to the root user
Typical Scenarios
- A web server trying to read a configuration file owned by root
- Running a local script without first running 'chmod +x'
What to Know
Verification of file ownership and permission bits (using 'ls -l') is the first step in resolving access rejections. In restricted environments, auditing security profiles (like SELinux or AppArmor logs) may reveal mandatory policy blocks.
Frequently Asked Questions
Common questions about Linux 13 error
No, error 13 is 'Permission denied'. 'Operation not permitted' is error 1 (EPERM), which usually involves low-level system restrictions.