环境变量过滤

时间:2012-10-10 22:46:37

标签: shell

修订:

环境变量的过滤在哪里发生?例如,假设您正在使用LD_PRELOAD进行共享库插入。但是,运行setuid程序时,LD_PRELOAD变量无效。它代表了我所谓的“环境变量过滤”的情况。我想知道环境变量的处理和“清除”在哪里发生,特别是和/或精确。

1 个答案:

答案 0 :(得分:2)

动态加载程序处理LD_PRELOAD和相关的环境变量。它还确定程序是否正在运行SUID并忽略环境变量。

动态加载程序的实际名称和位置因系统而异。例如,在RHEL 5 for x86 / 64上,对于32位软件,库为/lib/ld-linux.so.2,对于64位软件,库为/lib64/ld-linux-x86-64.so.2;在Solaris 10 for SPARC上,32位代码为/lib/ld.so.1,64位代码为/lib/sparcv9/ld.so.1