将变量添加LD_PRELOAD
到末尾/etc/profile
:
export LD_PRELOAD=/tmp/libhooks.so
LD_PRELOAD
然后我启动一个新的 ssh 会话,其中有一个变量:
[admin@Centos8 ~]$ env | grep LD_PRELOAD
LD_PRELOAD=/tmp/libhooks.so
但是,如果在保存变量时通过 sudo 运行此命令,则由于某种原因LD_PRELOAD
它不会被保存:
[admin@Centos8 ~]$ sudo --preserve-env env | grep LD_PRELOAD #doesn't output anything
sudo
是 setuid root,动态加载器 ( )在运行这些程序之前ld.so
会从其环境中删除变量。所以它甚至看不到您的值,因此无法保留它。LD_PRELOAD
sudo
LD_PRELOAD
有关详细信息,请参阅“安全执行模式”和“LD_PRELOAD”部分
man ld.so
。