LinuxForum.Fans
Тема

Как изменить пароль на ВМ ?

Автор: macro 11 сообщений 3659 просмотров
27.10.2014 07:06 #398491

Ситуация такая недавно стал ответственным за небольшим парком пк в районе 50 компьютеров и 5 серверов.

Прежнего системного администратора уволили в срочном порядке из за слива информации, естественно пароли и карту сети прежний администратор не предоставил и не какой документации соответствующей. По этому в авральном режиме пришлось брать контроль над серверами, так как они были физические большой сложности не возникло. Возникли сложности в архитектуре, приходилось искать искать и еще раз искать все.

Сейчас единственная проблема с чем я не могу справиться, это как изменить пароль на ВМ через virsh. Так как некоторые службы размещены именно на ВМ.


P.S. Администрированием Linux серверов до этого не занимался, бросили на меня эту работу потому что у меня в трудовой есть стаж работы системным администратором 2 года. Но для меня родная стихия Windows сервера. по этому на прошлой недели приходилось изучать тонны информации...


Ну и ближе к вопросу, как безболезненно и как можно быстрее получить полный контроль над ВМ.

27.10.2014 07:47 #398493

А что за ВМ?

Если подключиться админом хост машины, командами вроде virsh-connect подключиться нельзя к виртуальным машинам?

27.10.2014 08:06 #398496
Marley написал:
А что за ВМ?

Если подключиться админом хост машины, командами вроде virsh-connect подключиться нельзя к виртуальным машинам?

Connect в первую очередь пробовал, но реакция загрузка которая не чем не заканчивается.

27.10.2014 08:15 · отредактировано #398497

Так а всетаки, что за ВМ? (Могут же быть разные средства виртуализации)

27.10.2014 08:56 #398501
Marley написал:
Так а всетаки, что за ВМ? (Могут же быть разные средства виртуализации)

На сколько я понял это QEMU...

27.10.2014 16:44 #398626

a в самой VM какая ОС?

27.10.2014 17:00 #398629
"macro" написал:
Ну и ближе к вопросу, как безболезненно и как можно быстрее получить полный контроль над ВМ.

А как вы поступаете в случае, если у вас реальный ПК, а не виртуальный, так и здесь поступайте. В случае, если там Windows, то вам придётся загружать виртуальную систему образ cd диска или дискеты с каким-либо средством для сброса пароля в Windows, например ntpasswd.

В случае с Linux же возможны два варианта:
- загрузка с LiveCD диска, монтирование корня установленной Linux системы, всех прочих файловых систем, chroot в точку монтирования корня и переустановку пароля root

text

passwd root

- либо сразу монтирование файловой системы из образа диска, прочих файловых систем и опять же chroot и сброс пароля, примерно как описано вот здесь: Извлечь файлы из img

29.10.2014 06:45 #398848
dyasny написал:
a в самой VM какая ОС?

Все сервера сейчас на Linux

29.10.2014 16:31 #398970

самое простое - открыть диск локально на хосте (guestfish или kpartx), перейти в него (chroot /path/to/mountpoint) и сменитю пароль обычным passwd

31.10.2014 09:11 #399231
dyasny написал:
самое простое - открыть диск локально на хосте (guestfish или kpartx), перейти в него (chroot /path/to/mountpoint) и сменитю пароль обычным passwd

Можно более детально описать действия ...

31.10.2014 11:57 #399253
"macro" написал:
Можно более детально описать действия ...

macro, вы сходили по ссылке вот на эту Извлечь файлы из img тему?

Вам в начале нужно определить в каком формате образ жёстких дисков. Raw или нет, для этого вам поможет утилита file.

Если как в указанной теме вы увидите таблицу разделов - значит образ в формате raw, если нет - значит его нужно либо конвертировать в raw, либо как я вам написал выше подключаете к виртуальной машине ISO образ с LiveCD системой, запускаете виртуальную машину и загружаете её с iso образа.

Если диск всё же в raw формате, то можете либо посредством утилиты file и вывода данных о таблице разделов, смотрите указанную тему, смонтировать разделы в образе диска виртуальной машины:

text

# 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:

text

ls /mnt/image

вы должны увидеть примерно вот такой вывод:

text

bin     etc         media   proc   sys
boot   home   mnt        root    usr
dev    lib          opt         sbin    var

Если вывод примерно такой, то значит вы нашли корневой раздел, далее проверьте, что usr находится не на отдельном разделе, смотрите вывод:

text

ls /mnt/image/usr

если вы там увидели много директорий и среди них bin, sbin, share и прочие, то всё в порядке. Если нет, то вам придётся монтировать прочие разделы в образе диска виртуальной машины в /mnt/image/usr пока не появятся указанные директории в /mnt/image/usr
для отмонтирования разделов из образа диска виртуальной машины используется утилита umount:

text

umount /mnt/image/usr

В общем, когда вы смонтируете корневую файловую систему и возможно так же файловую систему с usr вам нужно сделать chroot в операционную систему:

text

chroot /mnt/image 

если вам будет выдано сообщение:

text

chroot: failed to run command ‘/bin/sh’: No such file or directory

или похожее, то это значит, что вы либо смонтировали не корневую файловую систему, либо в установленном в виртуальной машине дистрибутиве командная оболочка отличается от той, что используется в системе из которой вы делаете chroot.

Во втором случае вам нужно пробовать chroot таким способом:

text

chroot /mnt/image /bin/sh
chroot /mnt/image /bin/zsh
chroot /mnt/image /bin/bash

В любом случае после успешного chroot вам, определить это можно по отсутствию сообщений об ошибке и возможно изменившемуся приглашению, возможно, будет что-то вроде:

text

sh-4.2#

теперь вам достаточно дать команду

text

passwd root

и далее ввести два раза новый пароль для пользователя root, при вводе пароля на экран не будет выводиться ни каких символов, в том числе символов "*".

После смены пароля вам нужно выйти из chroot окружения и отмонтировать (отключить) подключенные файловые системы установленной в виртуальной окружении системы:

text

exit
umount /mnt/image/usr
umount /mnt/image

В случае загрузки виртуальной машины с ISO образа вам так же придётся монтировать разделы и делать chroot, только разделы можно монтировать напрямую с устройства /dev/sda или /dev/vda, раздел будет /dev/sda1 ... или /dev/vda1 ... .
Удачи.

Войдите или зарегистрируйтесь, чтобы ответить.