Како ресетовати заборављену root лозинку на VMware ESXi 6.0

Након преживљене трауме са изгубљеном лозинком коју сам описао у претходном тексту, један од пратилаца блога ми је напоменуо да иако званична VMware документација вели да је једини начин ресета лозинке – реинсталација целог система, постоји начин да се превари boot процес…што ми даде идеју…VMware је сличан Линуксу, има ваља и он неке shadow фајлове, ваљда може и он да се chroot-ује и тако то? Искрено нисам се тад много бавио ресетом лозинке колико сам се бавио „ко је и како се дођавола лозинка променила“. Али то се завршило срећно, нећемо сад о томе.

Е сад мене још занима, зашто онда ресет лозинке није и у званичном VMware упутству мајкуму? Мора да има и ту нека цака?

У овом упутству ћемо проћи и лично у step-by-step варијанти кроз процес ресета лозинке. Ово радим на виртуалној машини унутар VMware Player-а на којој је инсталиран VMware ESXi 6.0 те ово све није испробано на правој продукцијској машини – надам се да неће, али ако затреба, опет боље „ово“ него реинсталација свега. Претпоставка је да ово исто ради и на старијим верзијама али не могу то и да тврдим јер нисам пробао.

Да би се ресетовала лозинка мораће и да се ресетује сам сервер на коме је инсталиран VMware и да се бутне live Линукс – тако да ако имате икакве осетљиве машине њима можете приступити без обзира што сте заборавили root лозинку на VMware, бекапујте код себе ако имате некакве осетљиве податке – а саме машине и сервисе који су осетљиви угасите регуларно кроз ssh, Remote Desktop или шта већ користите за даљински приступ.

Дакле убаци се било који дистро који може да се бутне из лајва, што је у мом случају Линукс Минт 17.
Више о Linuks Mintu у посебном тексту.

Моунтујете све партиције које видите у бочној траци и потражите ону на којој се налазе VMware модули који се учитавају – а та партиција почиње са фајловима који се завршавају на v00, v02, v02 и тако то.

Кад сте нашли ту партицију, на њој нађите фајл који се зове state.tgz и прекопирајте на десктоп рецимо.

Овај state.tgz што је остао – само реименујте како би остао као бекап – за злу не требало, у овом случају у BEKAP_state.OLD

Сад отворите терминал ту где сте прекопирали state.tgz и распакујте га.
Унутар њега има фајл local.tgz којег исто треба распаковати.

Кад сте распаковали local.tgz у њему ћете видети фолдер etc и унутар њега фајл – shadow…тај фајл отворите кроз неки текст едитор (vi, nano, gedit) и обришите све на линији која почиње са root а налази се између прве две двотачке, односно ово што је у скриншоту у следећој фотки…

…тако да сад тај фајл изгледа отприлике овако…па то сачувајте.

Е сад кад сте сачували фајл ‘shadow’, треба све да вратите као што је било, односно фолдер ‘etc’ у архиву local.tgz а архиву local.tgz у архиву state.tgz.
Команде видите у скриншоту.

Кад сте креирали архиву state.tgz – прекопирајте је назад на оригиналну локацију.
Сада дакле на тој локацији треба да имате и state.tgz и стари бекаповани state.tgz (који се сад зове BEKAP_state.OLD)

Па рестарујте машину назад да би се улоговали у VМwаре ESXi

Роот лозинка сад не постоји и у логин прозору само звизните ентер кад вас пита.

Кад сте се улоговали – иде лак део приче – постављање нове лозинке. Приметићете на овом скриншоту овај десни сиви део – где пише да лозинка није сетована.

Сад видите на овој десној страни да више нема инфоа да лозинка није сетована.

Урадите још једном logoff/logon, рестарт и тако то – како бисте се уверили да је нова лозинка – та. Мисија завршена.
Још једном понаваљам да је ово рађено на виртуалној машини унутар VMware Player-а на којој је био инсталиран ESXi 6.0 и а не у реалном окружењу – мада не би требало да има неке разлике.