prevent TOCTOU race conditions. For setuid binaries a possible solution is to use the seteuid() system call to change the effective user and then perform the open(). Differences in setuid() between operating systems can be problematic. See also Linearizability References Further reading Computer security exploits software bugs