Me di cuenta de que la ruta predeterminada para root en mi de mis máquinas virtuales y servidores no incluye / usr / local / bin
sudo -s
echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
Mientras que los usuarios normales en el servidor tienen / usr / local / bin
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/sowen/bin
¿Por qué root no necesita / usr / local en la ruta?
¿Dónde se define la ruta predeterminada para un usuario?
/usr/local/sbin
y/usr/local/bin
en la ruta predeterminada de la raíz, pero hay excepciones./usr/local/bin
y otra sin). Y el que tenía/usr/local/bin
, no pude encontrar dónde se estaba estableciendo.Respuestas:
Porque no está configurado en los archivos de inicio de shell relevantes para root.
Tradicionalmente,
/usr/local
se ha utilizado para software no oficial instalado localmente (a menudo para anular las versiones "oficiales" defectuosas / rotas / limitadas; un amigo dijo que el primer paso cuando llegó un nuevo Sol fueGNU > /usr/local
). Comoroot
es todopoderoso, cualquier error o diseño incorrecto en los programas que ejecuta puede ser fatal. Es lógico pensar que ejecutar, por ejemplo, una versión local y experimental demake
by root debe tratarse con precaución. Mejor que vaya más allá de dar un camino explícito.fuente