我正在使用 进行一些 Ubuntu 自动安装测试cloud-init
。为此,我遵循了自动安装快速启动页面。在给定的示例中,显示的密码哈希与加密的密码ubuntu
短语相对应,并且运行正常。但是,如果我尝试使用自己的加密哈希,它似乎不起作用(我无法使用输入加密算法的纯文本密码登录)。
我知道这可能与我正在使用的加密算法有关,但我认为它应该可以工作,而且我很乐意能够检查/etc/shadow
QEMU 虚拟机以检查那里写了什么。
按照示例,我使用以下命令启动虚拟机:
kvm -no-reboot -m 2048 \
-drive file=image.img,format=raw,cache=none,if=virtio
有没有办法将虚拟机的文件系统挂载到我的本地机器并检查/etc/shadow
?
短暂性失眠!
答案1
如果image.img
确实是包含 Ubuntu 根分区的映像,并且确实如此生的,事情很简单。
sudo losetup --find --show --partscan /path/to/image.img
# This will print something like /dev/loop0
sudo mount /dev/loop0p3 /mnt/ubuntu
当然,您需要使用正确的分区号,但也可能不是p3
。
您的 版本losetup
可能不支持--partscan
。相反,您可以使用。您可以使用(或使用类似工具)sudo partprobe /dev/loop0
列出分区。sudo fdisk -l /dev/loop0
完成后:
sudo umount /mnt/ubuntu
sudo losetup --detach /dev/loop0
如果是其他图像格式,你可以尝试qemu-nbd或者libguestfs 工具,不幸的是,我对这两者都没有经验。如果你正在使用 QEMU,你可能已经拥有qemu-nbd。