GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿las variables de entorno son visibles para los usuarios sin privilegios en Linux?

Estoy tratando de determinar si, en Linux, las variables de entorno para un proceso son observables por otros usuarios (no root).

El caso de uso inmediato es poner secretos en variables de entorno. Esto se discute en muchos lugares a través de la web como inseguro, pero no he podido concentrarme en el punto de exposición exacto en Linux.

Tenga en cuenta que no hablando de poner secretos de texto claro en archivos. También tenga en cuenta que no hablando de la exposición a la cuenta raíz (veo intentar ocultar secretos de un adversario con la raíz como un no iniciador).

Esta pregunta parece abordar la mía, con comentarios que clasifican las variables de entorno como completamente sin seguridad, o simplemente ofuscadas, pero ¿cómo se accede a ellas?

En mis pruebas, un usuario sin privilegios no puede observar las variables de entorno de otro usuario a través de la tabla de procesos ("ps auxwwe"). Los comandos que establecen las variables de entorno (p. ej., exportar) son funciones internas de shell que no llegan a la tabla de procesos y, por extensión, no están en /proc/$pid/cmdline. /proc/$pid/environ solo es legible por el UID del propietario del proceso.

Quizás la confusión sea entre diferentes sistemas operativos o versiones. Varias fuentes (recientes) en la web denuncian la inseguridad de las variables de entorno, pero mi verificación puntual de diferentes versiones de Linux parece indicar que esto no es posible desde al menos 2007 (probablemente más allá, pero no tengo casillas en mano para probar).

En Linux, ¿cómo puede un usuario sin privilegios observar las variables de entorno de los procesos de otro?

Respuesta aceptada:

Como explicó Gilles en una respuesta muy completa a una pregunta similar en security.stackexchange.com, los entornos de proceso solo son accesibles para el usuario propietario del proceso (y raíz, por supuesto).


Linux
  1. Variables de entorno de Linux:cómo leer y configurar en un VPS de Linux

  2. Linux:¿variable de entorno permanente para todos los usuarios?

  3. Linux:¿los diferentes kernels de Linux/unix son intercambiables?

  4. Cómo establecer, enumerar y eliminar variables de entorno en Linux

  5. Ejemplos de comandos de exportación de Linux (cómo establecer variables de entorno)

Cómo establecer y enumerar variables de entorno en Linux

Cómo establecer y enumerar variables ambientales en Linux

Cómo configurar/desconfigurar variables de entorno en Linux

Cómo configurar y desactivar variables de entorno en Linux

Guía fácil paso a paso de variables de entorno de Linux

Variables de entorno de Linux