Ситуация такая недавно стал ответственным за небольшим парком пк в районе 50 компьютеров и 5 серверов.
Прежнего системного администратора уволили в срочном порядке из за слива информации, естественно пароли и карту сети прежний администратор не предоставил и не какой документации соответствующей. По этому в авральном режиме пришлось брать контроль над серверами, так как они были физические большой сложности не возникло. Возникли сложности в архитектуре, приходилось искать искать и еще раз искать все.
Сейчас единственная проблема с чем я не могу справиться, это как изменить пароль на ВМ через virsh. Так как некоторые службы размещены именно на ВМ.
P.S. Администрированием Linux серверов до этого не занимался, бросили на меня эту работу потому что у меня в трудовой есть стаж работы системным администратором 2 года. Но для меня родная стихия Windows сервера. по этому на прошлой недели приходилось изучать тонны информации...
Ну и ближе к вопросу, как безболезненно и как можно быстрее получить полный контроль над ВМ.
Как изменить пароль на ВМ ?
А что за ВМ?
Если подключиться админом хост машины, командами вроде virsh-connect подключиться нельзя к виртуальным машинам?
А что за ВМ?
Если подключиться админом хост машины, командами вроде virsh-connect подключиться нельзя к виртуальным машинам?
Connect в первую очередь пробовал, но реакция загрузка которая не чем не заканчивается.
Так а всетаки, что за ВМ? (Могут же быть разные средства виртуализации)
Так а всетаки, что за ВМ? (Могут же быть разные средства виртуализации)
На сколько я понял это QEMU...
a в самой VM какая ОС?
Ну и ближе к вопросу, как безболезненно и как можно быстрее получить полный контроль над ВМ.
А как вы поступаете в случае, если у вас реальный ПК, а не виртуальный, так и здесь поступайте. В случае, если там Windows, то вам придётся загружать виртуальную систему образ cd диска или дискеты с каким-либо средством для сброса пароля в Windows, например ntpasswd.
В случае с Linux же возможны два варианта:
- загрузка с LiveCD диска, монтирование корня установленной Linux системы, всех прочих файловых систем, chroot в точку монтирования корня и переустановку пароля root
passwd root
- либо сразу монтирование файловой системы из образа диска, прочих файловых систем и опять же chroot и сброс пароля, примерно как описано вот здесь: Извлечь файлы из img
a в самой VM какая ОС?
Все сервера сейчас на Linux
самое простое - открыть диск локально на хосте (guestfish или kpartx), перейти в него (chroot /path/to/mountpoint) и сменитю пароль обычным passwd
самое простое - открыть диск локально на хосте (guestfish или kpartx), перейти в него (chroot /path/to/mountpoint) и сменитю пароль обычным passwd
Можно более детально описать действия ...
Можно более детально описать действия ...
macro, вы сходили по ссылке вот на эту Извлечь файлы из img тему?
Вам в начале нужно определить в каком формате образ жёстких дисков. Raw или нет, для этого вам поможет утилита file.
Если как в указанной теме вы увидите таблицу разделов - значит образ в формате raw, если нет - значит его нужно либо конвертировать в raw, либо как я вам написал выше подключаете к виртуальной машине ISO образ с LiveCD системой, запускаете виртуальную машину и загружаете её с iso образа.
Если диск всё же в raw формате, то можете либо посредством утилиты file и вывода данных о таблице разделов, смотрите указанную тему, смонтировать разделы в образе диска виртуальной машины:
# file www1.img
www1.img: x86 boot sector; partition 1: ID=0x83, active, starthead 32, startsector 2048, 40134656 sectors; partition 2: ID=0x5, starthead 254, startsector 40138750, 1802242 sectors, code offset 0x63
# mkdit /mnt/image
# mount www1.img /mnt/image -o loop,offset=$((2048*512)) -t ext4
Затем выполнить chroot в корень установленной в виртуальной машине системы, определить что вы смонтировали корневую файловую систему, в случае, если разделов несколько, можно посредством вызова утилиты ls:
ls /mnt/image
вы должны увидеть примерно вот такой вывод:
bin etc media proc sys
boot home mnt root usr
dev lib opt sbin var
Если вывод примерно такой, то значит вы нашли корневой раздел, далее проверьте, что usr находится не на отдельном разделе, смотрите вывод:
ls /mnt/image/usr
если вы там увидели много директорий и среди них bin, sbin, share и прочие, то всё в порядке. Если нет, то вам придётся монтировать прочие разделы в образе диска виртуальной машины в /mnt/image/usr пока не появятся указанные директории в /mnt/image/usr
для отмонтирования разделов из образа диска виртуальной машины используется утилита umount:
umount /mnt/image/usr
В общем, когда вы смонтируете корневую файловую систему и возможно так же файловую систему с usr вам нужно сделать chroot в операционную систему:
chroot /mnt/image
если вам будет выдано сообщение:
chroot: failed to run command ‘/bin/sh’: No such file or directory
или похожее, то это значит, что вы либо смонтировали не корневую файловую систему, либо в установленном в виртуальной машине дистрибутиве командная оболочка отличается от той, что используется в системе из которой вы делаете chroot.
Во втором случае вам нужно пробовать chroot таким способом:
chroot /mnt/image /bin/sh
chroot /mnt/image /bin/zsh
chroot /mnt/image /bin/bash
В любом случае после успешного chroot вам, определить это можно по отсутствию сообщений об ошибке и возможно изменившемуся приглашению, возможно, будет что-то вроде:
sh-4.2#
теперь вам достаточно дать команду
passwd root
и далее ввести два раза новый пароль для пользователя root, при вводе пароля на экран не будет выводиться ни каких символов, в том числе символов "*".
После смены пароля вам нужно выйти из chroot окружения и отмонтировать (отключить) подключенные файловые системы установленной в виртуальной окружении системы:
exit
umount /mnt/image/usr
umount /mnt/image
В случае загрузки виртуальной машины с ISO образа вам так же придётся монтировать разделы и делать chroot, только разделы можно монтировать напрямую с устройства /dev/sda или /dev/vda, раздел будет /dev/sda1 ... или /dev/vda1 ... .
Удачи.