On Mon, 22 May 2006, Jason Riedy wrote: > And "Stefan Pfetzing" writes: > - printf ("access: %d\n", access("/etc/motd", X_OK)); > [...] > - will return 0 on solaris - when run as root, even though /etc/motd > - is not executeable. > > This is explicitly allowed by the SUS, even for non-root: What kind of CRAP has Solaris become? Yes, it's allowed. That doesn't mean that a quality implementation should do it. SunOS used to be the best system around - it was, compared to others, _nice_ to work with. It wasn't about what was "allowed by the standards", that was the HP-SUX and AIX's excuses. It was the highest-quality implementation. Now, Solaris had some serious problems early on (yes, I was there when they switched, and yes, I hated it), but I thought they had fixed their stuff long long ago. Have Sun people forgotten the difference between "quality" and "crap that passes standards tests"? Not doing a reasonable job on "access()" is a joke. It's like VMS being "posix". Sure, it's the letter of the law, but it's still not _unix_. Btw, even SuS says: "The sentence concerning appropriate privileges and execute permission bits reflects the two possibilities implemented by historical implementations when checking superuser access for X_OK. New implementations are discouraged from returning X_OK unless at least one execution permission bit is set." which clearly says "Solaris is CRAP" to me. What the heck is going on? First the totally broken stdio that doesn't retry on EINTR, now access(). And these people think they can compete? Somebody hit some Solaris engineers with a 2x4 clue-stick, please. Linus - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html