SmartOSで紛失したルートパスワードをリセットする方法

SmartOSで紛失したルートパスワードをリセットする方法

私はjoyent_20130405T010449Z起動可能な USB から SmartOS バージョンを実行しています。簡単に言うと、ルート パスワードは永久に失われてしまいました。

パスワードとして「root」を試しましたが、うまくいきませんでした。パスワードなしでも試しましたが、うまくいきませんでした。USB スティックの platform/root.password のパスワードを試しましたが、やはりうまくいきませんでした。パスワードは別のもので、推測できません。

できるgrub メニュー (noimport=trueカーネル オプションを使用) から「Live (noinstall)」オプションを選択し、パスワードとして「root」を入力してログインします。 を実行して新しいパスワード ハッシュを正常に生成できます/usr/lib/cryptpass newpasswordが、その後何をすればよいかわかりません。

指示に従ってみましたここにあるですが、私には当てはまらないようです:

「Live (noinstall)」を起動するとマウントポイントがなくなり/usbkey、編集による/etc/shadow効果は永続的になりません (再起動するとリセットされます)。

boot/grub/menu.lstUSB スティックの のエントリを編集し、root_shadow=[hash]の出力に対するカーネル オプションを上書きしてみました/usr/lib/cryptpass newpasswordが、その後再起動して「newpassword」でログインしようとしても失敗します。

最後の手段として、新しいバージョンの新しい USB キーに交換して SmartOS を「再インストール」することを検討できます。これを行うと、ZFS プールと VM はどうなりますか?

答え1

手順はこちら正しいですが、noimport モードで起動する場合、不完全です。usbkeyは「ゾーン」zpool 内のファイルシステムであり、noimport モードで起動する場合は、パスワードをリセットする前にマウントする必要があります。noimport モードでマウントするには、次の手順を実行します。

「zones」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

このように、通常どおり再起動すると、パスワードの変更が保持されます。

関連情報