Cuando usted sudo
, obtiene un preconfigurado $PATH
, que es (se supone que es) algo así como la ruta predeterminada del usuario raíz . Su programa no está en esa lista de directorios identificados por $PATH
.
Ver por ejemplo
sudo intenta estar seguro cuando ejecuta comandos externos.
Hay dos formas distintas de tratar con las variables de entorno. Por defecto, la
opción env_reset
sudoers está habilitada. Esto hace que la ejecución de comandos con un entorno mínimo que contiene TERM
,
PATH
, HOME
, SHELL
, LOGNAME
, USER
y USERNAME
además de las variables de proceso llamante permitidos por las env_check
y env_keep
sudoers opciones. Existe efectivamente una lista blanca para las variables de entorno.
Si no puede configurar sudo
para preservar su $PATH
, la solución habitual es especificar la ruta completa del programa. Es posible que eso no funcione bien con los scripts que llaman a otros ejecutables en el directorio (no accesible).
cd
. Usando eldzdo cd
retorno de "comando no encontrado". Por supuesto, más tarde me di cuenta de quecd
ing en un directorio que no tiene permisos en, no ayudará mucho, así que tampoco necesito un intérprete de comandos o necesidad dedzdo ls
,dzdo mv
, etc los contenidos de fuera de ese directorio.