Arkadaşlar hepinize merhaba,
Yine bir root password resetleme makalesi yazmak istedim, daha önce host profile kullanarak nasıl esxi root passworlerinin resetleneceğini göstermiştim. Okumak isteyen arkadaşlarım aşağıdaki linkten erişebilirler.
https://burakvardar.wordpress.com/2014/02/05/esxi-5-x-icin-unutulan-root-password-resetleme/
Bu sıralar forumlarda da çok yazılıp çizilmeye başlandı. Aslında bu makaleyi yazmakta hala tereddütlerim var 🙂 çünkü işin içerisine linux girecek ve doğal olarak herkes linux bilmeyebilir…
Amacım bir linux distrosu kullanarak ( ben ubuntu kullanacağım ) esxi5.1 ve 5.5 üzerinde root passwordün nasıl resetlendiği göstermek yönünde olacak…
Bunun için live çalışabilen bir linux distrosu indirmeniz yeterli olacaktır. Geri kalan herşey zaten hali hazırda var.
Şimdi herkesin aklına bir soru gelebilir. VMware bu operasyon için esxi yeniden kurulması yönünde bir KB yayınladı. Bence de böyle yapmalı, hiç bir vendor başka bir vendorun ürününü referans göstererek çözüm üretmek istemez. Bunun için tek yol yeniden kurmak diyor.
İsteyen ilgili KB’ye aşağıdaki linkten ulaşabilirsiniz.
Başlayalım;
Ben bu işlemi akıllarda soru işareti olmasın diye 5.5 üzerinde yapmayı tercih ettim. Bu operasyon 5.1’de rahatlıkla çalışmakta.
Öncelikle esxi hostumu ubuntu ile boot ediyor ve yükleme yapmadan live mode’da çalıştırıyorum.
Sistem açıldıktan sonra terminal ( windowstaki cmd ) çalıştırıyorum.
Root erişimi yapmak için root passwordü değiştiriyorum. Çünkü az sonra göstereceğim komutları sadece root haklarıyla çalıştırabilirim.
Görüldüğü üzere ubuntu userdan root usera geçmiş olduk. Şimdi Esxi partitionlarını listeleyelim. Bunun için Gpart partition tool kullanacağım.
Evet arkadaşlar bir esxi kurulduğunda aşağıdaki partitionlar ile gelir. Biz burda /dev/sda5 kullanacağız, peki neden?
Zaten makalenin en kritik yeri burası 🙂 çünkü state.tgz bu partition içinde barınıyor. Password resetlemek için state.tgz dosyasını kullanacağız.
Öncelikle /dev/sda5 partitionu /mnt klasörüne mount edelim. Bunun için mount /dev/sda5 /mnt komutunu kullanıyorum.
Şimdi ilgili state.tgz dosyamızı mnt dizninde arayalım. Bulduğuma göre bu dosyayı tmp altına kopyalayalım.
Sırada dosya üzerinde çalışmak var. Artık tmp diznine gidebiliriz. Tmp dizini içinde bir çok dosya olacağı için ben password isimli bir dizin açıyor ve dosyamı buraya taşıyorum.
Arkadaşlar state.tgz dosyası sıkıştırlmış bir dosyadır bunu açmam gerekiyor bunun için kullanacağım komut tar xvf state.tgz
Ancak dosyamı açtımda içinde local.tgz isminde bir sıkıştırlmış dosya daha görüyorum. Bunuda aynı komutla açıyorum ( dosya ismi farklı olacak tabi 🙂 )
tar xvf local.tgz komutumla bu dosyayıda açıyorum ve içinden aşağıda görüleceği üzre etc isimli bir dizin çıkıyor.
Arkadaşlar linux ve unix sistemlerde passwordler clear-text şeklinde tutulmazlar ( “hangi sistemde tutulur ki? :)” ) passwordler hashlenir ve shadow dosyasında tutulurlar.
bizlerde etc altında shadow dosyasını bir editör ile açarak hash temizleme işlemi yapacağız dolayısıyla password temizlenmiş olacak…
ben nano kullanıyor ve shadow dosyamı açıyorum.
komutum nano etc/shadow ve dosyam aşağıdaki gibi açılır. Siz açtığınızda root:$kajhsdkjahdkjahdkjhfkjhaskjdhakjhsd:13358:0:99999:7::: şeklinde uzun bir hash değeri göreceksiniz bu hash değeri aslında sizin passwordünüzdür.
bu alanı temizleyerek passwordünüzü resetleyebilirsiniz. Hash değerini sildiğinizde root hash bilgisi aşağıdaki şekilde olmalı. Burda önemli olan : asdadsadsa : iki nokta arasındaki değeri silmektir.
Dosyamı ctrl-x ile kaydediyor ve Y cevabını veriyorum ve dosyayı aynı ismiyler kaydediyorum.
Evet artık passwordümüzü resetledik. Şimdi yapacağımız işlem ise dosyaları tekrar sıkıştırmak ve yerine koymak.
Bunun için öncelikle password diznime aşağıdaki komutla gidiyorum:
cd /tmp/password
ardından pwd ile doğru dizinde olduğumu kontrol ediyor ve state.tgz ve local.tgz dosyalarımı siliyorum.
rm state.tgz
rm local.tgz
son olarak ls komutu ile sadece etc dizni kaldığından emin oluyorum
Komutlarımın çalıştılması aşağıdaki gibidir.
Etc diznini ismi local.tgz olacak şekilde sıkıştırıyorum bunun için kullandığım komut tar cvf local.tgz etc/
Bu komutu çalıştırdıktan sonra etc dizni ve alt dizinleri sıkıştırılacaktır. Komut bittiğinde ls ile kontrol edelim, dosya oluşacaktır daha sonra chmod 777 local.tgz komutu ile dosyama yetki veriyor ve bu dosyamı state.tgz olacak şekilde tekrar sıkıştıyorum.
bunun için kullandığım komut ise tar cvf state.tgz local.tgz komutunu kullanıyorum. Komut bittikten sonra ls ile dosyamın oluştuğunu kontrol ediyor ve dosyama yetki vermek için chmod 777 state.tgz komtunu kullanıyorum
bütün komutların çalıştışı aşağıdaki gibidir;
Sırada eski state.tgz ile düzenlediğimiz state.tgz değiştirmek kaldı.
bunun için /mnt diznine cd /mnt komutuyla gidiyor, içindeki state.tgz dosyasını rm state.tgz komutyla siliyorum. Eski dosyanın silindiğini ls ile kontrol ediyorum. Aşağıda görüldüğü üzere eski dosya silindi.
Düzenlemiş olduğumuz state.tgz dosyamızı /mnt altına cp /tmp/password/state.tgz /mnt komutu ile kopyalıyorum ve tekrar ls ile kontrol ediyorum. Dosyam ilgili yerinde
son olarak /mnt dizninden root dizne geçiyor ve mount ettiğim partitionu unmount ediyorum ve Komutların çıktısı aşağıdaki gibidir.
işletim sistemini init 6 komutu ile restart ediyorum.
Eğer uzaktan yönetim aracı kullandıysanız ( HP ILO gibi ) isoyu çıkarmanız gerekiyor. Eğer cd yada dvd kullanıyorsanız sunucudan çıkarmanız gerekiyor. Görüldüğü üzere ubuntu bizi bu konuda uyarıyor.
Kontrol zamanı 🙂 esxi boot ettikten sonra passwordümü boş olacak şekilde deniyor ve login oluyorum.
Aşağıda görüldüğü üzere sistemime şifresiz login olabiliyorum.
Bu uzun makalede size linux distrosu kullanarak nasıl password resetleneceğini step by step anlattım. Makale başında söylediğim gibi linux kullanan arkadaşlarım için kolay olsada Microsoft Windows’tan başka OS yüzü görmemiş sistem yöneticileri için epey uğraştırıcı olabilir. Bu sebeple biz sanallaştırma uzmanları/yöneticileri birçok işletim sistemi hakkında ( benim önerim ) giriş seviyesi olsada bilgi sahibi olmalıyız… “Makaleyi iyi okuyup uygulamaya çalışmalısınız” önerisinden sonra umarım root password unutmasınız diyorum 🙂
Okuyan arkadaşlarıma faydalı olması dileklerimle…
Elinize sağlık güzel bir döküman olmuş.
Malesef bu yöntem artık ( 7.0.3) işe yaramıyor. target.tgz.ve şeklinde geliyor dosya. Şifreli bir şekilde yani. Bir türlü sonuç bulamadım.