Penguin
Note: You are viewing an old revision of this page. View the current version.

Permission Denied

This is often confused with EPERM, to quote SUSv3:

Permission denied. An attempt was made to access a file in a way forbidden by its file access permissions.

Examples include:

  • trying to lower a process's nice(1) value (ie make it a higher priority process) when you are not the superuser. (nice uses the setpriority(2) call, not the nice(2) call which returns EPERM).
  • trying to unlink(2) (delete) a file when you do not have write access to the file or the directory, or open a file for reading when you do not have read access.

In general, EACCES seems morely to be used for file permission conflicts, while EPERM seems more likely to be used for process-related permission conflicts. But you can see that even system calls use them differently.