0

环境变量的过滤发生在哪里?例如,假设您使用 LD_PRELOAD 进行共享库插入。但是,当运行 setuid 程序时,LD_PRELOAD 变量不起作用。它代表了我所说的“环境变量过滤”的一个案例。我想知道环境变量的处理和“清除”发生在哪里,具体和/或精确。

4

1 回答 1

2

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

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

于 2012-10-12T04:06:08.327 回答