Как проверить файловую систему виртуальной машины QEMU без пароля пользователя

Как проверить файловую систему виртуальной машины QEMU без пароля пользователя

Я делаю пару тестов автоустановки Ubuntu с помощью cloud-init. Для этого я следую примеру, представленному вАвтоматическая установка QuickStartстраница. В данном примере представленный хеш пароля соответствует зашифрованной парольной 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.

Связанный контент