Use con cuidado, hay problemas de seguridad con sudo y variables.
De man sudoersencontré que deberías usar
Valores predeterminados env_reset
Valores predeterminados env_keep + = "PYTHONPATH OTRO VARIABLE AÚN MÁS"
En Ubuntu, sudoconserva algunas variables. sudo -ies más como iniciar sesión como root y luego ejecutar el comando. Ambos pueden ser inconvenientes, el primero sudo nano myfiledeja archivos propiedad de root dentro de su hogar y el segundo sudo -i nano myfileintentará abrir / root / myfile.
correr
sudo printenv PATH
y mira lo que da. Aquí da
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
por ejemplo. Ahora corre sudo visudoy agrega la línea
Defaults secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
reemplazando por lo que encontraste justo antes. Agregue una nueva ruta si es necesario.
Sobre bibliotecas:
sudo LD_LIBRARY_PATH=/usr/lib/path/to/a/safe/library your command
Las distribuciones de Linux tienen mucho cuidado PATH, y realmente debes tener cuidado antes de jugar con ellas. Tenga especial cuidado al agregar rutas como " ." o /home/usernameno es seguro.
Uno de los peligros de agregar rutas es que abre la posibilidad de que se ejecuten archivos en estas rutas root, abriendo una ventana en la seguridad del sistema que puede ser explotada por software malicioso. Puede haber otros peligros. Solo asegúrate de saber lo que estás haciendo. Eludir sudolas medidas de seguridad puede hacer que su Solaris sea tan seguro como Windows XP.