VMware 提供了一種方法,可以在不用重新啟動vCenter Server進入grub引導至單使用者模式的情況下重置root的密碼,這種方法使用的是透過SSO管理員賬號(administrator@vsphere.local)登入到vCenter Server的VAMI管理介面,在右上角的操作選單裡提供更改root使用者密碼的選項。
但是,上述方法僅適用於vCenter Server 7.0及以上版本,如果是舊的vCenter Server 6.7的版本,則可以透過shell進行修改。從vCenter Server 6.7 U1開始,隸屬於SystemConfiguration.BashShellAdministrators組的SSO使用者將能夠登入到Bash shell,並使用sudo呼叫任何命令而不需要輸入密碼,因此,我們可以使用SSO管理員賬戶登入shell直接修改root的密碼。當然,透過shell修改的方法也適用於所有6.7之後的版本,如果是6.7之前的版本,則可能還是得需要重啟進入單使用者模式進行修改。從下圖可以看到,預設的SSO管理員賬戶隸屬改組。
使用SSO管理員使用者以SSH登入vCenter命令列,執行以下命令開啟bash shell並進入shell。
shell.set --enable true
shell
使用sso-user身份進入shell後,執行以下命令直接更改root使用者的密碼。
sudo passwd root
重置密碼後你可以使用新的root密碼登入vCenter Server VAMI管理後臺以及bash shell命令列。
如果vCenter root使用者被鎖定,可以透過SSO管理員賬戶(administrator@vsphere.local)登入shell使用以下命令進行解鎖。
對於vCenter Server 8.0 U2之前的版本,請使用pam_tally2命令進行解鎖。
sudo pam_tally2 --user=root --reset
對於vCenter Server 8.0 U2及之後的版本,請使用faillock命令進行解鎖。pam_tally2在Photon OS 4中已棄用,vCenter 8.0 U2使用了Photon OS 4。
sudo /usr/sbin/faillock --user root --reset
注意,上述方法使用了SSO使用者,如果同時忘記root和SSO使用者密碼,那請重啟vCenter進入單使用者模式重置root密碼後再透過shell重置SSO使用者密碼。