Operation Not Permitted
This appears to be regularly confused with EACCES. To quote from SUSv3:
- Operation not permitted. An attempt was made to perform an operation limited to processes with appropriate privileges or to the owner of a file or other resource.
- Trying to unlink(2) a file on a read-only filesystem.
- Trying to increase a process's priority by giving the nice(2) call a negative value when not the superuser (note that this is different to the setpriority(2) call!)
- Trying to use the setpriority(2) call on a process that does not belong to you.
In general, EACCES seems more 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.
actually, EACCES for permissions based things (different owners, file permissions, etc) while EPERM covers things where you are trying to break the rules.
Your powers are great; limits exist however. This is one of them.