Warum hat root nicht / usr / local im Pfad?

18

Ich habe festgestellt, dass der Standardpfad für root auf meinen VMs und Servern nicht / usr / local / bin enthält

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

Während normale Benutzer auf dem Server / usr / local / bin haben

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

Warum braucht root / usr / local nicht im Pfad?

Wo ist der Standardpfad für einen Benutzer definiert?

Spuder
quelle
Auf welchem ​​Betriebssystem ist das? Die meisten haben /usr/local/sbinund /usr/local/binauf dem Standardpfad von root, aber es gibt Ausnahmen.
Gilles 'SO - hör auf böse zu sein'
Gerade ist ein merkwürdiger Unterschied zwischen zwei RHEL 6.4-VMs aufgetreten (einer mit /usr/local/binund einer ohne). Und der mit /usr/local/bin, ich konnte nicht finden, wo es eingestellt wurde.
Batfastad

Antworten:

18

Weil es nicht in den relevanten Shell-Startdateien für root eingerichtet ist.

Wurde traditionell /usr/localfür inoffizielle, lokal installierte Software verwendet (häufig, um fehlerhafte / defekte / eingeschränkte "offizielle" Versionen zu überschreiben; ein Freund witzelte, dass der erste Schritt, als eine neue Sonne eintraf, war GNU > /usr/local). Als rootallmächtig ist, kann jeder Fehler oder Missverständnis in den Programmen, die es ausführt, fatal sein. Es liegt nahe, dass das Ausführen einer lokalen, experimentellen Version von makeby root mit Vorsicht behandelt werden sollte. Besser, Sie geben einen expliziten Pfad an.

vonbrand
quelle