Ejecutar screen
en bash borra la variable LD_LIBRARY_PATH. He leído un poco y parece que este es un comportamiento esperado, pero necesito evitarlo.
La solución consiste en agregar la declaración LD_LIBRARY_PATH a ~/.bashrc
. En mi caso, LD_LIBRARY_PATH se cambia mucho entre el inicio del shell y cuando invoco la pantalla, por lo que necesito obtener el valor actual de LD_LIBRARY_PATH en la screen
sesión.
bash
environment-variables
gnu-screen
Andrew Wood
fuente
fuente
Respuestas:
screen
no desarma la variable de entorno; es eliminado por el propio Linux.En la mayoría de los sistemas, el
/usr/bin/screen
ejecutable se instala con el bit setgid parautmp
grupo, para poder modificar lautmp
base de datos. También usa setgid para controlar el acceso al directorio de socket (/var/run/screen/
).En Linux, cuando se ejecuta un programa setuid (o setgid ), no recibe ciertas variables de entorno (incluidas
LD_LIBRARY_PATH
varias otrasLD_*
variables, yHOSTALIASES
), para reducir los posibles puntos de ataque: de lo contrario, podría escribir una pequeña biblioteca y trucosu
osudo
para llamar a sus funciones "mejoradas" de esa manera.Puede eliminar el bit setgid
screen
, pero deberá hacer que el directorio del socket sea totalmente accesible para todos (modo 0777). Sin embargo, no debería ser un riesgo de seguridad, ya quescreen
también verifica el UID del atacante.Sin embargo, usted debe no hacer que la
utmp
base de datos con permiso de escritura.fuente
chgrp root $(which screen)
ychmod 777 /var/run/screen
. Puede probar con este pequeño script bash:while true; do echo $LD_LIBRARY_PATH; sleep 2; done
verá que la ruta se muestra con éxito. Gracias Grawity.En su
.screenrc
, puede usar elsetenv
comando para establecer un valor en el entorno de la pantalla.Esto se establece antes de que se inicie su shell. Obviamente
LD_LIBRARY_PATH_SCREEN
, debe configurarse antes de iniciar la pantalla.fuente
_SCREEN
que se puede configurar en su archivo rc o en un script de envoltura que inicia la pantalla.Probar
export
la variable de entorno que le interesa.fuente