如何为su或sudo设置LD_PRELOAD?

问题描述 投票:0回答:2

我正在使用CentOS 6.5。我的glibc的版本是2.14,我不小心将/lib64/libc.so.6链接到之前的glibc(libc-2.12.so)。

然后我运行export LD_PRELOAD=/lib64/libc-2.14.so,大多数命令可以执行,除了susudo。运行su时,它会出现“Segmentation fault”。当运行sudo时,它给出了“su:/lib64/libc.so.6:版本`GLIBC_2.14'未找到(/lib64/libcrypt.so.1所需)”。

如何为LD_PRELOADsu设置sudo,或者我可以做些什么来恢复glibc?

linux centos glibc su
2个回答
2
投票

没有办法,按设计。设置LD_PRELOAD允许在可执行文件中执行任意代码。在运行敏感的prvileged SUID程序时允许这样做是不明智的。


1
投票

我该怎么做才能恢复glibc?

这是一个系统管理员问题,更适合于serverfault,但恢复的一种方法是:

  1. 从救援CD启动
  2. 将根分区挂载到/ mnt
  3. 修复符号链接
  4. 重启
© www.soinside.com 2019 - 2024. All rights reserved.