2012年5月20日

【VMware】在 VMware ESXi 把自己的 root 權限移除了怎麼辦

是的,某天小店長在 VMware ESXi Client 端軟體裡玩著玩著,
一時手殘把自己 root 帳號的權限全部移除了!而且還完全沒發現!

等於把自己家的鑰匙往窗外扔出去!就這樣開開心心的出門(登出)了~
完全沒發現自己已經把鑰匙扔掉~
然後下次登入時,畫面就出現「您的登入權限不足,無法登入」...
這時候該怎麼把鑰匙找回來呢?

在 VMware 的KB中有提到解決方案,就以此方案為操作步驟進行解說。

Step 1. 以 SSH 連線加密方式進入 VM 主機的指令(console)畫面。

原文:
Connect to the ESX host's service console via SSH or local console.
Note: ESXi connection to the local console is made using the "unsupported mode"
意思是說,ESX 可以用 SSH 連線加密方式或是到本機指令畫面處理,但筆者實驗 ESXi 則一定要用 SSH 連線進入,無法使用本機指令畫面進行處理。並且,在 SSH 連線之前,要先在本機端開啟「非支持模式 (unsupported mode)」和「啟用 SSH 連接功能」。

然後就能用 SSH 連線進入主機,本圖以 PuTTY 為實驗軟體。
使用 PuTTY 進行連線

連進去之後,要輸入帳號與密碼,如下圖。

輸入帳號 (筆者帳號為root)

輸入密碼

顯示資料正確的畫面

Step 2. 打開 authentication.xml 文字檔進行編輯。

原文:
Open this file in a text editor :  /etc/vmware/hostd/authentication.xml
Note: In ESX4.1 and later the file name is authorization.xml

意思是說,開啟 /etc/vmware/hostd/authentication.xml 編輯設定,如果是 ESX4.1 則需開啟 authorization.xml 檔案。

照著KB指示,開啟 authentication.xml 檔案
結果根本沒有內容可以改
筆者發現,在 ESXi 3.5 版中,
開啟 authentication.xml 這個檔案根本沒有東西可改,
要開啟 authorization.xml 這個檔案才是正確的。

好的,那開啟 authorization.xml 檔案吧。

開啟 authorization.xml 檔案
各個帳號的權限設定內容就出現了

Step 3. 編輯文字內容  的值為 -1

原文:Change the existing value of the<ACEDataRoleId> </ACEDataRoleID>to -1.

<ACEDataRoleId> </ACEDataRoleID>裡的值改為-1即可,如上圖黃色區塊所示。

Step 4. 存檔後重新啟動管理介面

原文:After editing this file, save it and restart the management agents on the host or reboot the host.

改好之後存檔起來,然後重新啟動管理介面 (我大多會整台重開) 即可。



【同場加映】

如何在 VMware ESXi 開啟 SSH 連接 (enable SSH Connectivity)

沒有留言: