如何在 SmartOS 中重設遺失的 root 密碼

如何在 SmartOS 中重設遺失的 root 密碼

我正在joyent_20130405T010449Z透過可啟動 USB 運行 SmartOS 版本。長話短說,root 密碼已經失傳多年了。

我嘗試使用“root”作為密碼,但沒有成功。我試過沒有密碼,沒用。我嘗試了 U 盤上 platform/root.password 中的密碼,仍然沒有成功。密碼是別的東西,我猜不出來。

noimport=true透過從 grub 選單(使用核心選項)中選擇「Live (noinstall)」選項並輸入「root」作為密碼來登入。然後,我可以透過運行成功產生新的密碼哈希/usr/lib/cryptpass newpassword,但之後不清楚該怎麼做。

我嘗試按照說明進行操作位於這裡,但它們似乎不適用於我:

當我啟動“Live(noinstall)”時,沒有/usbkey安裝點,並且編輯/etc/shadow沒有持久效果(它會在我重新啟動時重置)。

boot/grub/menu.lst我嘗試編輯USB 記憶棒上的條目,覆蓋 的root_shadow=[hash]輸出的核心選項/usr/lib/cryptpass newpassword,但隨後重新啟動並嘗試使用“newpassword”登入仍然失敗。

作為最後的手段,我可​​以考慮透過用新版本替換新的 USB 隨身碟來「重新安裝」SmartOS。如果我這樣做,我的 ZFS 池和 VM 會發生什麼?

答案1

此處說明是正確的,但在以 noimport 模式啟動的情況下它們是不完整的。usbkey是「zones」zpool 中的一個檔案系統,在 noimport 模式下啟動時,必須在重置密碼之前安裝它。要以 noimport 模式掛載:

確認「區域」zpool 存在:

$ zpool import
  pool: zones
    id: ##########
 state: ONLINE
 - snip -

導入它:

$ zpool import zones

確認zones/usbkey檔案系統存在,並且是一個「傳統」掛載點(意味著它是用mount而不是掛載的zfs mount):

$ zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT
- snip -
zones/usbkey                 ###      -   ####  legacy
- snip -

安裝它:

$ mkdir /usbkey
$ mount -F zfs zones/usbkey /usbkey

然後按照密碼重設說明:

$ umount /etc/shadow
$ cp /usbkey/shadow /etc/shadow
$ passwd root
$ cp /etc/shadow /usbkey/shadow

就像這樣,當您正常重新啟動時,密碼變更將被保留。

相關內容