
我正在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
就像這樣,當您正常重新啟動時,密碼變更將被保留。