Dlaczego root nie ma / usr / local w ścieżce?

19

Zauważyłem, że domyślna ścieżka do roota na moim vm i serwerach nie zawiera / usr / local / bin

sudo -s  
echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin

Podczas gdy normalni użytkownicy na serwerze mają / usr / local / bin

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/sowen/bin

Dlaczego root nie potrzebuje / usr / local na ścieżce?

Gdzie jest zdefiniowana domyślna ścieżka dla użytkownika?

Spuder
źródło
Na jakim to jest systemie operacyjnym? Większość mam /usr/local/sbini /usr/local/binna domyślnej ścieżce roota, ale są wyjątki.
Gilles „SO- przestań być zły”
Właśnie napotkałem dziwną różnicę między dwiema maszynami wirtualnymi RHEL 6.4 (jedną z /usr/local/bini drugą bez). I z tym /usr/local/bin, że nie mogłem znaleźć, gdzie to jest ustawione.
batfastad

Odpowiedzi:

19

Ponieważ nie jest skonfigurowany w odpowiednich plikach startowych powłoki dla roota.

Tradycyjnie /usr/localbył używany do nieoficjalnego, lokalnie instalowanego oprogramowania (często w celu zastąpienia błędnych / uszkodzonych / ograniczonych „oficjalnych” wersji; przyjaciel żartował, że był to pierwszy krok, gdy pojawiło się nowe słońce GNU > /usr/local). Ponieważ rootjest wszechmocny, każda pomyłka lub błędne zaprojektowanie uruchomionych programów może być śmiertelne. Jest zrozumiałe, że uruchamianie np. Lokalnej, eksperymentalnej wersji makerootowania powinno być traktowane z ostrożnością. Lepiej, żeby poszedł o krok dalej, podając wyraźną ścieżkę.

vonbrand
źródło