Pourquoi root n'a-t-il pas / usr / local dans le chemin?

19

J'ai remarqué que le chemin par défaut pour root sur mes serveurs virtuels et mes serveurs n'inclut pas / usr / local / bin

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

Alors que les utilisateurs normaux sur le serveur ont / usr / local / bin

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

Pourquoi root n'aurait-il pas besoin de / usr / local dans le chemin?

Où est défini le chemin par défaut pour un utilisateur?

spuder
la source
Sur quel OS est-ce? La plupart ont /usr/local/sbinet /usr/local/binsur le chemin par défaut de root, mais il y a des exceptions.
Gilles 'SO- arrête d'être méchant'
Je viens de rencontrer une étrange différence entre deux machines virtuelles RHEL 6.4 (une avec /usr/local/binet une sans). Et celui avec /usr/local/bin, je ne pouvais pas trouver où il était mis.
batfastad

Réponses:

19

Parce qu'il n'est pas configuré dans les fichiers de démarrage du shell appropriés pour root.

Traditionnellement, /usr/locala été utilisé pour les logiciels non officiels installés localement (souvent pour remplacer les versions "officielles" boguées / cassées / limitées; un ami a plaisanté en disant que la première étape à l'arrivée d'un nouveau soleil était GNU > /usr/local). Comme rootc'est tout-puissant, toute erreur ou erreur de conception dans les programmes qu'il exécute peut être fatale. Il va de soi que l'exécution, par exemple, d'une version expérimentale locale de makeby root doit être traitée avec prudence. Il vaut mieux lui faire passer l'étape supplémentaire de donner un chemin explicite.

vonbrand
la source