[Discuss] really odd GCC bug? under Ubuntu

Richard Pieri richard.pieri at gmail.com
Mon May 13 17:17:25 EDT 2013


Derek Martin wrote:
> Yes, it is.  You will get EACCESS (permission denied).  On every
> version of Linux, and every Unix that complies to POSIX.

Few Unixes comply with POSIX. System V and 4.x BSD are two major Unixes
that aren't fully POSIX compliant. The IEEE started drafting POSIX
specifications because of the incompatibilities between System V and
*BSD. Their native file systems should comply with POSIX since the POSIX
file system specification was drafted to match how they worked.

Linux pays lip service to POSIX with LSB which is mostly a superset of
POSIX. Mostly. LSB does not fully subsume POSIX. Not all file systems in
the Linux kernel honor POSIX permissions (FAT). Some have had their
behavior changed over the years either to fix exploitable bugs or to
intentionally bring them in line with POSIX (ext2). Some use POSIX
permissions in ways quite different from how POSIX defines them (AFS).

All bets are off when ACLs are used.

You'll get different behavior with elevated privileges which the Linux
kernel has. It can see that there are files in a directory despite the
permissions and ACLs. This is the cause of Bill experiencing things that
weren't expected. He can't see files if he changes the directory mode to
0, but the kernel can see them and it says "yep, there are files here"
but then says "nope, you can't look at them". That's why mode 0 causes a
permission denied error but a renamed directory causes no error at all.

-- 
Rich P.



More information about the Discuss mailing list