AWS 上的 ubuntu 系统,/usr 以下的权限被改后无法读取了, root 没有创建,怎么解?

2022-03-28 11:10:26 +08:00
 uil330

又是给公司的 SB 们擦屁股的一天...

----------------前提概要----------------------- 公司有个服务跑在 aws 上,本来跑的好好的,有个 sb 非要用 sudo 来部署普通用户权限的东西。 用也算了,结果它在 /usr 下执行了一句 sudo chmod 744 . 于是直接崩盘,普通用户连 sudo 都执行不了了

----------------求问部分----------------------- 于是问题来了,怎么才能救活这个系统呢 目前状况是:

  1. 系统用普通用户能进,但是什么都做不了,甚至 wget 之类的都不行,因为权限被卡了
  2. ubuntu 默认是 root 不启用,所以也没办法用 root 来改
  3. 一般来说主机上的话直接在 grub 之类的地方改成紧急模式就行,但是 aws 不熟,实在不知道怎么设置启动设置
  4. EC2 Instance connect 和串口终端都打不开

目前想到的解决方案是:

  1. 找出 aws 系统类似于 grub 的启动设置部分
  2. 把这个储存挂载在其他的 aws 实例上来修改

求问 aws 的大佬们怎么救?

7330 次点击
所在节点    云计算
47 条回复
proxytoworld
2022-03-28 11:12:52 +08:00
linux 外行疑问,为什么 /usr 744 就没办法 sudo 了
ruidoBlanco
2022-03-28 11:15:35 +08:00
有 snapshot 就恢复 snapshot 。/usr 的文件权限并不都是一样的,你即使挂个急救盘上去了也没办法全整对。

没 snapshot ,谁拉的屎谁负责去吧。
uil330
2022-03-28 11:17:58 +08:00
@proxytoworld 因为 744 的话,等于群组跟其他用户都没法执行了
lx0758
2022-03-28 11:18:54 +08:00
interesting
proxytoworld
2022-03-28 11:19:16 +08:00
chmod 没加 -R 的话 应该没有递归的重置权限?
proxytoworld
2022-03-28 11:24:09 +08:00
有没有一种可能,把 sudo 拷出来,在其他目录执行
aru
2022-03-28 11:25:50 +08:00
aws 的启动镜像能挂载到别的 ecs 上不?如果能就可以解决,如果不能大概就解决不了了
FrankAdler
2022-03-28 11:27:26 +08:00
/usr 的权限被更改了,不影响别的吧,sudo su - root 不能切?
defunct9
2022-03-28 11:30:06 +08:00
开 ssh ,让我上去看看
uil330
2022-03-28 11:30:42 +08:00
@FrankAdler /usr 当前用户不能执行的话,sudo 就执行不了
wd
2022-03-28 11:37:22 +08:00
磁盘挂别的机器 然后备份数据 新建 node 吧
uil330
2022-03-28 11:42:00 +08:00
@proxytoworld 现在问题就是根本访问不了 /usr ,而且因为 scp 啊 python 之类的命令都在那下面,等于啥都执行不了

甚至连编辑器都不行,只有 dd 之类的系统命令可以用

要真・手搓二进制代码了
NekoNeko666
2022-03-28 11:46:32 +08:00
NekoNeko666
2022-03-28 11:47:17 +08:00
@NekoNeko666 导出数据然后新建一个 instance 。
CRVV
2022-03-28 11:52:05 +08:00
不用手搓二进制,把编译好的 executable 传上去就能执行了

关键是你还有什么方式能拿到 root 权限,如果没有了,就得用 Linux 的漏洞了,好像有过几个,也许可以试试
随便找了一篇 https://payatu.com/guide-linux-privilege-escalation
Ljcbaby
2022-03-28 11:52:26 +08:00
cve-2021-4034 之类的试试?
yanqiyu
2022-03-28 12:09:10 +08:00
不能改 kernel cmdline 吗,可以的话先进单用户把权限改回去
yanqiyu
2022-03-28 12:10:31 +08:00
@Ljcbaby
> cve-2021-4034 之类的试试?

polkit 也是靠 suid 二进制提权的,这里整个 /usr 都没了 o+x 权限,估计只有进单用户想办法了
blessingsi
2022-03-28 12:18:59 +08:00
cp 是不是在 bin 下面呀。可以 cp -av 把 sudo copy 出来吗
uil330
2022-03-28 12:21:02 +08:00
@yanqiyu 现在就在研究 aws 怎么改 kernel cmdline 。。。

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

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

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

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

© 2021 V2EX