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

vps网友提供 03-28 讨论归档 47

又是给公司的 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 的大佬们怎么救?

本文由 vps网友提供,转载请注明出处

本文链接: https://www.vpsvsvps.com/discuss/a/1676472093715206144.html

标签:
uil330
03-28

@yanqiyu 现在就在研究 aws 怎么改 kernel cmdline 。。。

blessingsi
03-28

cp 是不是在 bin 下面呀。可以 cp -av 把 sudo copy 出来吗

yanqiyu
03-28

@Ljcbaby
> cve-2021-4034 之类的试试?

polkit 也是靠 suid 二进制提权的,这里整个 /usr 都没了 o+x 权限,估计只有进单用户想办法了

yanqiyu
03-28

不能改 kernel cmdline 吗,可以的话先进单用户把权限改回去

Ljcbaby
03-28

cve-2021-4034 之类的试试?

CRVV
03-28

不用手搓二进制,把编译好的 executable 传上去就能执行了

关键是你还有什么方式能拿到 root 权限,如果没有了,就得用 Linux 的漏洞了,好像有过几个,也许可以试试
随便找了一篇 https://payatu.com/guide-linux-privilege-escalation

NekoNeko666
03-28

@NekoNeko666 导出数据然后新建一个 instance 。

uil330
03-28

@proxytoworld 现在问题就是根本访问不了 /usr ,而且因为 scp 啊 python 之类的命令都在那下面,等于啥都执行不了

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

要真・手搓二进制代码了

wd
03-28

磁盘挂别的机器 然后备份数据 新建 node 吧

uil330
03-28

@FrankAdler /usr 当前用户不能执行的话,sudo 就执行不了

defunct9
03-28

开 ssh ,让我上去看看

FrankAdler
03-28

/usr 的权限被更改了,不影响别的吧,sudo su - root 不能切?

aru
03-28

aws 的启动镜像能挂载到别的 ecs 上不?如果能就可以解决,如果不能大概就解决不了了

proxytoworld
03-28

有没有一种可能,把 sudo 拷出来,在其他目录执行

proxytoworld
03-28

chmod 没加 -R 的话 应该没有递归的重置权限?

lx0758
03-28

interesting

uil330
03-28

@proxytoworld 因为 744 的话,等于群组跟其他用户都没法执行了

ruidoBlanco
03-28

有 snapshot 就恢复 snapshot 。/usr 的文件权限并不都是一样的,你即使挂个急救盘上去了也没办法全整对。

没 snapshot ,谁拉的屎谁负责去吧。

proxytoworld
03-28

linux 外行疑问,为什么 /usr 744 就没办法 sudo 了