728x90 AdSpace

  • Latest News

    Được tạo bởi Blogger.
    Thứ Tư, 6 tháng 3, 2019

    Bài 8: Hướng dẫn reset mật khẩu root trên vSphere ESXi

    nino24 ) - Chào các bạn, ở bài viết này chúng ta cùng tìm hiểu cách thức để reset mật khẩu root trên vSphere ESXi trong trường hợp bạn quên mật khẩu nhé. Hãy tưởng tượng, một ngày nọ bạn cần đăng nhập ESXi để quản lý dưới quyền user root, thì hỡi ôi bạn đã quên mất cái thông tin mật khẩu chính xác để đăng nhập vào rồi. Đau đầu dễ sợ và cần tìm cách để khôi phục (reset) lại mật khẩu root trên ESXi Server.

    Bạn cần biết rằng, VMware vSphere ESXi OS chứa thông tin về tài khoản user, mật khẩu đã hash,… ở file có tên /etc/shadow giống như các OS Linux/UNIX khác. Các thông tin hệ thống, cấu hình hệ thống,.. được lưu giữ trong một file nén lưu trữ cấu hình có tên ‘state.tgz‘ nằm ở phân vùng boot image ESXi. Và đây cũng là file nén chứa cả thông tin mật khẩu user root đấy.

    Tuy nhiên bản thân VMware cũng cảnh báo rằng, nếu ta quên mật khẩu thì chỉ có nước cài đặt mới một ESXi Host mà thôi.

    Vậy vì sao phương pháp ở bài viết này dùng để reset pass root ESXi không được VMwarekhuyến khích thực hiện ? Đơn giản là bạn thao tác trực tiếp với các file hệ thống cấu hình ESXi , nên nếu có bất kì thao tác nhầm lẫn nào sẽ gây ảnh hưởng hoạt động của hệ thống ESXi. Chính vì vậy bạn cần thao tác cẩn thận trong hoạt động reset pass root ESXi với các thao tác mình chỉ dẫn.


    Contents
    Cấu trúc thứ tự partition của ESXi
    Các bước để reset mật khẩu root trên vSphere ESXi
    Bước 1: boot LiveCD
    Bước 2: mount phân vùng boot image hypervisor ESXi
    Bước 3: xoá mật khẩu trong file shadow của state.tgz
    Bước 4: nén nội dung thông tin mới thành file ‘state.tgz’
    Bước 5: login user root / set lại mật khẩu mới
    Cấu trúc thứ tự partition của ESXi

    Partition 1: systemPartition 4MB
    Partition 5: linuxNative 250MB -> /bootbank
    Partition 6: linuxNative 250MB -> /altbootbank
    Partition 7: vmkDiagnostic 110MB
    Partition 8: linuxNative 286MB -> /store
    Partition 2: linuxNative 4GB -> /scratch
    Partition 3: VMFS datastore


    Bạn cần lưu ý 2 partition 5 và 6 trong cấu trúc partition layout của OS ESXi. Vì phân vùng 5 /bootbank chứa file ‘state.tgz‘ đã được nén, trong file này chứa thông tin hệ thống kể cả file ‘state.tgz‘. Phân vùng partition 6 ‘/altbootbank‘, chứa bản copy của file boot image và file state.tgz ở phân vùng partition 5 nhằm backup/recovery. Nên khi thực hiện các thao tác reset pass root trên ESXi ta cần thao tác trên cả 2 file ‘state.tgz’ của 2 partition 5 và 6.
    Các bước để reset mật khẩu root trên vSphere ESXi

    Bước 1: boot LiveCD

    Bạn hãy boot ESXi Server của bạn với đĩa cứu hộ Linux có thể là Ubuntu hoặc CentOS đều được. Mình chọn CentOS 7 LiveCD cứu hộ để boot. Lúc này OS LiveCD sẽ được load lên bộ nhớ RAM để chạy như dưới.

    Sau đó hãy mở terminal của OS LiveCD ra nhằm thực hiện các thao tác cứu hộ nhé. Nhảy lên quyền user root luôn để thực thi các câu lệnh khác.

    # sudo -s

    Bước 2: mount phân vùng boot image hypervisor ESXi

    Bạn sử dụng lệnh ‘parted‘ để coi thông tin về partition layout của ổ cứng đang cài đặt ESXi. Trong trường hợp của mình đó là phân vùng logical tên ‘/dev/sdb‘. Sau đó bạn nhìn tiếp tục sẽ thấy boot image của OS ESXi được nằm ở 250MB partition /dev/sdb5 (partition thứ 5) có chứa file nén tên ‘state.tgz‘.

    # parted -l
    Model: DELL PERC H730P Mini (scsi)
    Disk /dev/sdb: 960GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:

    Number Start End Size File system Name Flags
    1 32.8kB 4194kB 4162kB fat16 boot
    5 4211kB 266MB 262MB fat16
    6 266MB 528MB 262MB fat16
    7 528MB 644MB 115MB
    8 644MB 944MB 300MB fat16
    9 944MB 3628MB 2684MB
    2 3628MB 7922MB 4294MB fat16
    3 7922MB 960GB 952GB




    Giờ ta sẽ thực hiện mount phân vùng /dev/sdb5 để lấy file ‘state.tgz‘ ra chỉnh sửa. Thực hiện các câu lệnh Linux sau để mount.

    # mkdir /mnt/esxi/
    # mount /dev/sdb5 /mnt/esxi/
    # cd /mnt/esxi/


    Liệt kê thử các nội dung file nằm trong thư phân vùng /dev/sdb5 đang được mount . Bạn sẽ tìm thấy file ‘state.tgz‘.

    # ls -A
    a.b00 b.b00 emulex_e.v00 ipmi_ipm.v01 lsu_lsi_.v00 net_bnx2.v01 net_mlx4.v00 nmlx4_rd.v00 sata_ahc.v00 scsi_adp.v00 scsi_meg.v01 tboot.b00 weaselin.t00
    ata_pata.v00 block_cc.v00 esx_dvfi.v00 ipmi_ipm.v02 lsu_lsi_.v01 net_cnic.v00 net_mlx4.v01 nmlx5_co.v00 sata_ata.v00 scsi_aic.v00 scsi_meg.v02 uc_amd.b00 xhci_xhc.v00
    ata_pata.v01 bnxtnet.v00 esx_ui.v00 ixgben.v00 lsu_lsi_.v02 net_e100.v00 net_nx_n.v00 nvme.v00 sata_sat.v00 scsi_be2.v00 scsi_mpt.v00 uc_intel.b00 xorg.v00
    ata_pata.v02 boot.cfg i40en.v00 jumpstrt.gz lsu_lsi_.v03 net_e100.v01 net_qlcn.v00 ohci_usb.v00 sata_sat.v01 scsi_bnx.v00 scsi_mpt.v01 uhci_usb.v00
    ata_pata.v03 brcmfcoe.v00 igbn.v00 k.b00 lsu_lsi_.v04 net_enic.v00 net_qlge.v00 onetime.tgz sata_sat.v02 scsi_bnx.v01 scsi_mpt.v02 user.b00
    ata_pata.v04 chardevs.b00 ima_be2i.v00 lpfc.v00 misc_cni.v00 net_forc.v00 net_tg3.v00 qedentv.v00 sata_sat.v03 scsi_fni.v00 scsi_qed.v00 useropts.gz
    ata_pata.v05 dell_con.v00 ima_qla4.v00 lsi_mr3.v00 misc_dri.v00 net_i40e.v00 net_vmxn.v00 qedf.v00 sata_sat.v04 scsi_hps.v00 scsi_qla.v00 vsanheal.v00
    ata_pata.v06 ehci_ehc.v00 imgdb.tgz lsi_msgp.v00 mtip32xx.v00 net_igb.v00 nmlx4_co.v00 qlnative.v00 sb.v00 scsi_ips.v00 state.tgz vsanmgmt.v00
    ata_pata.v07 elxnet.v00 ipmi_ipm.v00 lsu_hp_h.v00 net_bnx2.v00 net_ixgb.v00 nmlx4_en.v00 rste.v00 scsi_aac.v00 scsi_meg.v00 s.v00 vsan.v00



    Bước 3: xoá mật khẩu trong file shadow của state.tgz

    Giờ ta cần thao tác với file hệ thống ESXi đang nằm trong file nén ‘state.tgz‘. Hãy copy file ‘state.tgz‘ ra thư mục tạm ‘/tmp‘, sau đó giải nén liên tục file state.tgz và local.tgz .

    # cp state.tgz /tmp/
    # cd /tmp/
    # tar xzvf state.tgz
    local.tgz
    # tar xzvf local.tgz
    etc/security/access.conf
    etc/vmware/ssl/rui.key
    etc/vmware/ssl/rui.crt
    etc/vmware/hostd/vmAutoStart.xml
    etc/vmware/hostd/pools.xml
    etc/vmware/hostd/hostsvc.xml
    etc/vmware/configrules
    etc/vmware/locker.conf
    etc/vmware/lunTimestamps.log
    etc/vmware/license.cfg
    etc/vmware/vpxa/vpxa.cfg
    etc/vmware/rhttpproxy/config.xml
    etc/vmware/esx.conf
    etc/vmware/.backup.counter
    etc/vmware/dvsdata.db
    etc/vmsyslog.conf.d/hostd.conf
    etc/vmsyslog.conf.d/vpxa.conf
    etc/vmsyslog.conf.d/fdm.conf
    etc/ssh/ssh_host_dsa_key.pub
    etc/ssh/sshd_config
    etc/ssh/ssh_host_rsa_key
    etc/ssh/ssh_host_rsa_key.pub
    etc/ssh/ssh_host_dsa_key
    etc/chkconfig.db
    etc/keymap
    etc/sfcb/repository/root/interop/cim_indicationfilter.idx
    etc/sfcb/repository/root/interop/cim_listenerdestinationcimxml.idx
    etc/sfcb/repository/root/interop/cim_indicationhandlercimxml.idx
    etc/sfcb/repository/root/interop/cim_indicationsubscription.idx
    etc/sfcb/repository/root/interop/sfcb_registeredprofile.idx
    etc/sfcb/repository/root/interop/sfcb_registeredprofile
    etc/sfcb/repository/root/config/omc_config.idx
    etc/sfcb/repository/root/config/omc_config
    etc/sfcb/repository/root/config/omc_namespaceconfig.idx
    etc/sfcb/repository/root/config/omc_namespaceconfig
    etc/sfcb/sfcb.cfg
    etc/sfcb/uuid
    etc/hosts
    etc/dhclient-vmk0.leases
    etc/random-seed
    etc/resolv.conf
    etc/vmsyslog.conf
    etc/shadow


    Di chuyển đến thư mục ‘etc/’ vừa được giải nén ra . Lúc này bạn sẽ tìm thấy file ‘shadow‘ như trên các hệ thống Unix, file này chứa thông tin mật khẩu đã được hash của user trên hệ thống Linux/UNIX có user ‘root‘.

    # cd etc
    # vi shadow

    root:$6$Yr02W8dJ$x0leg7YpspFgywlOUL0Axc47tB6iaYsL2nm5ZgvFcSVCQT8ZBCvvAEAZLFHqUzTPRRt8VSfSOfiGfrwvR7ZTG/:13358:0:99999:7:::
    nobody:*:13358:0:99999:7:::
    nfsnobody:!!:13358:0:99999:7:::
    dcui:*:13358:0:99999:7:::
    daemon:*:13358:0:99999:7:::
    vpxuser:*:14875:0:99999:7:::




    Hãy xoá nội dung cột thứ 2 của dòng user root, ngăn cách bởi kí tự ‘:‘ . Lúc này user root mặc định sẽ không có thông tin mật khẩu để login. Nên xem như là login bằng user root không cần mật khẩu.

    root::13358:0:99999:7:::
    nobody:*:13358:0:99999:7:::
    nfsnobody:!!:13358:0:99999:7:::
    dcui:*:13358:0:99999:7:::
    daemon:*:13358:0:99999:7:::
    vpxuser:*:14875:0:99999:7:::



    Bước 4: nén nội dung thông tin mới thành file ‘state.tgz’

    Giờ ta chỉ cần nén lại thư mục chứa file shadow thành local.tgz mới, rồi nén lại thành file state.tgz mới. Thay thế file state.tgz hiện có trên phân vùng /dev/sdb5 đang được mount.

    # pwd
    /tmp/etc
    # cd ..
    # pwd
    /tmp
    # tar czvf local.tgz etc
    # tar czvf state.tgz local.tgz
    # cp state.tgz /mnt/esxi/
    cp: overwrite ‘/mnt/esxi/state.tgz’? y


    Sau đó umount phân vùng /dev/sdb5.

    # cd /root
    # umount /mnt/esxi

    Rồi xử lý tiếp file ‘state.tgz‘ recovery/backup ở phân vùng /dev/sdb6 ‘/altbootbank‘. Lặp lại xử lý y như từ bước 1 đến bước 4 như ở phân vùng /dev/sdb5 đã làm trên. Sau khi xử lý xong thì hãy reboot lại hệ thống ESXi.

    # reboot

    Bước 5: login user root / set lại mật khẩu mới

    Tới những bước vô cùng dễ dàng rồi. Bạn chỉ cần bỏ boot LiveCD đi, boot vào OS ESXi vào menu DCUI của ESXi. Ấn F2 để đăng nhập user root với ô mật khẩu để rỗng.



    Sau đó vào phần “Configure Password” để set mật khẩu mới.


    Ở ô “Old Password” bạn để rỗng, còn lại thì điền thông tin mật khẩu mới nhé.



    Cực kì đơn giản để có thể thực hiện việc reset mật khẩu root trên vSphere ESXi phải không nào. Hãy đảm bảo các thao tác của bạn là cẩn thận, không xoá nhầm, ghi sai nội dung file cấu hình,…





    Nguồn :
    Người viết :
    Biên soạn lại : longhuong



    Nhập địa chỉ email vào form bên dưới để nhận được tin từ đề tài này sớm nhất
    ( Vui lòng kích hoạt email khi nhận được link kích hoạt nhé )



    Nếu thấy hay thì click vào nút follow (G+) bên dưới nhé ! Thanks !

    Nếu thấy hay thì click vào nút thích (Like) bên dưới nhé ! Thanks !
    • Nino24 Comments
    • Facebook Comments
    Item Reviewed: Bài 8: Hướng dẫn reset mật khẩu root trên vSphere ESXi Rating: 5 Reviewed By: Long Jack
    Scroll to Top