Смена пароля виртуальной машины

Материал из ISPWiki
Перейти к: навигация, поиск

Иерархия: VMmanager KVM -> Виртуальные машины
VMmanager Cloud -> Виртуальные машины

Чтобы сменить пароль виртуальной машины, в шаблоне ОС должен быть определен метод.

Метод смены пароля - это алгоритм, по которому VMmanager делает определенные манипуляции с виртуальной машиной для смены пароля root. Метод указывается в шаблоне ОС в теге chpass_method

В настоящий момент реализован один метод: mount.linux

метод mount.linux

Этот метод предполагает установленный guestfish и работает только на linux-системах. Метод не работает для виртуальных машин, диски которых расположены в хранилище RBD.

Алгоритм работы метода:

1. VMmanager останавливает виртуальную машину и монтирует виртуальный диск:

guestmount -a <образ_диска> -i <путь к точке монтирования>

2. Делает chroot

mount -t proc proc <путь к точке монтирования>/proc
mount -o bind /dev <путь к точке монтирования>/dev mount -o bind /sys <путь к точке монтирования>/sys chroot <путь к точке монтирования>

3. Меняет пароль

usermod -p 'новый-пароль' root

4. делаем unmount


Ошибка "Не удалось примонтировать диски виртуальной машины"

Проблема проявляется при попытке сменить пароль для виртуальной машины с файловой системой XFS внутри, размещенной на хост-сервере с ext4 и ядром версии менее 3.10. Для более точной диагностики запустите вручную guestmount -v -x -a <образ_диска> -i <путь к точке монтирования>. Если в выводе видны сообщения "mount: wrong fs type, bad option, bad superblock", то работа с этой машиной с помощью libguestfs невозможна. Причина - неполная поддержка гостевой xfs в ядре RHEL/CentOS 6. Подробности по ссылке: virt-inspector can't obtain info from rhel7.3 guest image on rhel6.9 host. К сожалению, по заявлениям разработчиков libguestfs, это поведение не может быть исправлено.