GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué ruta utiliza `sudo` para buscar "?

Instalé eclipse en mi directorio de inicio y puse su ruta en PATH en ~/.profile .

Entonces funciona por

$ eclipse 

Pero cuando lo llamas con sudo , eclipse no se encuentra:

$ sudo eclipse 
sudo: eclipse: command not found

Qué PATH hace sudo eclipse usar para buscar eclipse ? ¿Es el usuario root? 's PATH ?

Gracias.

Respuesta aceptada:

sudo por defecto usa un mínimo PATH , para que sea seguro para que lo use el raíz usuario. Eso no es necesariamente lo mismo que PATH obtendría al iniciar sesión como raíz usuario, o haciendo

sudo su -

Por ejemplo, en las versiones más recientes de Red Hat, noté que la ruta omite /usr/local/bin .

La página del manual resume esto en una sección titulada Notas de seguridad :

sudo intenta estar seguro al ejecutar comandos externos.

Hay dos formas distintas de tratar con las variables de entorno. De forma predeterminada, env_reset La opción sudoers
está habilitada. Esto hace que los comandos se ejecuten con un entorno mínimo que contiene TERM , PATH , HOME , SHELL , LOGNAME , USER y USERNAME además de las variables del proceso de invocación
permitidas por env_check y env_keep opciones de sudoers. Hay efectivamente una lista blanca para
variables de entorno.

Lectura adicional:

  • sudoers:lista de qué usuarios pueden ejecutar qué

    secure_path
    Ruta utilizada para cada comando ejecutado desde sudo. Si no confía en que las personas que ejecutan sudo
    tengan una variable de entorno PATH sensata, es posible que desee usar esto. Otro uso es si
    desea que la "ruta raíz" esté separada de la "ruta del usuario". Usuarios en el grupo
    especificado por exempt_group no se ven afectados por secure_path . Esta opción no
    está configurada de forma predeterminada.

  • sudo:ejecuta un comando como otro usuario


Linux
  1. Cómo usar el comando 'buscar' para buscar varios nombres de archivo (extensiones) en Linux

  2. "nohup Sudo ..." no solicita contraseña y no hace nada?

  3. ¿Qué significa 'cd -'?

  4. ¿Por qué rsync no usa transferencia delta para archivos locales?

  5. Cómo establecer la ruta para los comandos sudo

¿Cómo usar Grep para buscar un patrón que comience con un guión (-)?

Utilice Buscar y localizar para buscar archivos en Linux

Pipe salida para usar como especificación de búsqueda para grep en Linux

Qué comando usar para verificar si Python es de 64 bits o de 32 bits

¿Cómo decide pip qué rueda de Linux usar?

cual python vs PYTHONPATH