Incorrect order of /usr/bin and /usr/sbin in path

Chris Adams linux at cmadams.net
Sun May 4 22:15:30 UTC 2014


Once upon a time, Reindl Harald <h.reindl at thelounge.net> said:
> no, given that /usr/sbin/iptables is clearly a administrative
> command and so there is no valid reason to seek for iptables
> in /usr/bin/ nor have it as override is a logical conclusion

And there's no reason to look in /usr/sbin for a clearly
non-administrative command like "ls".  The non-admin commands will in
most cases vastly outnumber the admin commands, so putting /usr/bin
first just makes sense from a performance standpoint.

> "Incorrect order of /usr/bin and /usr/sbin in path" is plain wrong
> and the PATH /usr/sbin:/usr/bin is in any case correct - period

No, /usr/bin is supposed to be before /usr/sbin, because otherwise you
get broken behavior just like the original poster said they had (mock
didn't work but /usr/bin/mock did).

The reason is that there are some programs (like mock) that have an
entry in both directories.  The /usr/bin version is a symlink to
consolehelper, that grants additional privileges based on where the user
is connected (console vs. network).  This is long-time Fedora (and Red
Hat Linux before that) behavior.  I believe consolehelper is being
replaced, but that isn't done yet; after that, the PATH order shouldn't
matter.

To the OP: I'd suggest checking your .bash_profile to see if something
has changed the PATH there.
-- 
Chris Adams <linux at cmadams.net>


More information about the devel mailing list