前几天遇到的一个状况,给大家探讨一下: Linux 下普通用户使用 sudo 删掉了 libc.so,如何恢复?

2017-12-28 18:18:15 +08:00
 rrfeng
问题已经解决了,就想看看大家能想到什么办法。
3639 次点击
所在节点    问与答
34 条回复
xmadi
2017-12-28 18:19:56 +08:00
从其他电脑或者启动个 livecd 然后复制一个就好了 标准库反正都一样
Kirscheis
2017-12-28 18:34:28 +08:00
另起一个系统复制一个进去

或者如果内存里还有没挂掉的能写东西的进程,就塞一个静态编译好的 busybox 之类的工具覆盖掉一个有执行权限的文件,然后用 busybox 复制一个
ironx
2017-12-28 18:37:04 +08:00
下载一个就可以了
geelaw
2017-12-28 18:38:58 +08:00
Windows 的系统文件都是有多个名字的(硬链接),而且也会自动恢复它们…… Linux 或许没有自动恢复的功能,但总该是可以从另一个名字恢复的吧😅
prolic
2017-12-28 18:40:24 +08:00
LD_PRELOAD=
rrfeng
2017-12-28 18:48:22 +08:00
@xmadi
@Kirscheis
@ironx
@geelaw
非 root 用户并不能在它原来的位置写入文件(没有权限),所以有合适的文件,问题是怎么放进去。

@prolic
感觉比上面几位都厉害一点。如果没有这个,基本上所有命令都无法执行了,包括 ls copy mv ...
但是 LD_PRELOAD 不会对特权相关的程序生效,例如 su / sudo
Kirscheis
2017-12-28 18:52:11 +08:00
@rrfeng 另起一个系统之后,根本就不需要原本系统的权限啊
geelaw
2017-12-28 18:57:21 +08:00
@rrfeng 不太懂,能 sudo 的普通用户是知道 root 的密码的,而且 sudo 似乎有一段的时间是可以免去再次验证的。
msg7086
2017-12-28 18:58:02 +08:00
不是厉害不厉害,是你没有把题目限定成不能新启一个系统。
LD_PRELOAD 不能过特权是安全原因,否则人人都能篡改系统调用了。
提权依赖 sticky bit,至于系统里有哪个程序既有 sticky 又不依赖 glibc 我就不知道了。
msg7086
2017-12-28 18:58:43 +08:00
@geelaw sudo 用户不知道 root 密码。
ironx
2017-12-28 19:03:46 +08:00
@rrfeng 要不然进去恢复模式,挂载 u 盘,拷贝个文件
turnrut
2017-12-28 19:07:40 +08:00
@msg7086 不知道 root 密码可以 sudo su
msg7086
2017-12-28 19:11:21 +08:00
@turnrut 这不是我想说的。
rrfeng
2017-12-28 19:30:35 +08:00
@geelaw
简单来说删掉 libc 之后 sudo 就运行不了了。


@ironx
你觉得恢复模式能起来吗?


@Kirscheis
哦原来是另起一个系统去写原系统文件,开始理解错了。这个肯定没问题。


@msg7086
确实这样
geelaw
2017-12-28 19:48:25 +08:00
@msg7086 如果不知道密码又是如何 sudo 的?即使是别人代为输入,发现删除错误之后还不立刻让旁边那人再来一次?

@rrfeng 这个理由倒是不错
msg7086
2017-12-28 19:52:28 +08:00
@geelaw 还请你先了解一下 sudo 的工作机制。
sudo 这个工具制作以会被制造出来,就是为了杜绝把 root 密码交给用户。
blless
2017-12-28 19:54:38 +08:00
好像记得可以用恢复模式 操作 不过安装时候要是加密了分区好像就没办法了
geelaw
2017-12-28 20:00:56 +08:00
@msg7086 所以有“别人代为输入”。
wdlth
2017-12-28 20:06:37 +08:00
sudo 不是看 sudoers 设置么?和 root 密码有什么关系?
msg7086
2017-12-28 20:08:40 +08:00
@geelaw 你到底在说什么?
sudo 从来是验证账号本人的密码,你上面那句「能 sudo 的普通用户是知道 root 的密码的」是哪出来的?

更不说一旦 libc 删除以后 sudo 就无法运行了,你再输一次密码,输给谁?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/418383

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX