Como redefinir uma senha root perdida no SmartOS

Como redefinir uma senha root perdida no SmartOS

Estou executando a versão SmartOS joyent_20130405T010449Zem um USB inicializável. Resumindo, a senha do root foi perdida com o passar do tempo.

Tentei "root" como senha, sem sorte. Não tentei nenhuma senha, não funcionou. Tentei a senha em platform/root.password no pendrive, mas ainda sem sorte. A senha é outra coisa e não consigo adivinhar.

EUpodefaça login escolhendo a opção "Live (noinstall)" no menu grub (que usa a noimport=trueopção do kernel) e digitando "root" como senha. Posso gerar com êxito um novo hash de senha executando /usr/lib/cryptpass newpassword, mas depois disso não está claro o que fazer.

Eu tentei seguir as instruçõeslocalizado aqui, mas eles não parecem se aplicar a mim:

Quando inicializo o "Live (noinstall)", não há /usbkeyponto de montagem e a edição /etc/shadownão tem efeitos persistentes (ela é redefinida quando eu reinicio).

Tentei editar as entradas no boot/grub/menu.lstpendrive, substituindo a root_shadow=[hash]opção do kernel pela saída de /usr/lib/cryptpass newpassword, mas reinicializar e tentar fazer login com "newpassword" ainda falha.

Como último recurso, posso considerar "reinstalar" o SmartOS trocando uma nova chave USB por uma versão mais recente. O que acontecerá com meu pool ZFS e minhas VMs se eu fizer isso?

Responder1

Oinstruções aquiestão corretos, mas estão incompletos no contexto da inicialização no modo noimport. usbkeyé um sistema de arquivos no zpool de "zonas" e, ao inicializar no modo noimport, ele deve ser montado antes de redefinir a senha. Para montar no modo noimport:

Confirme se o zpool das "zonas" existe:

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

Importe-o:

$ zpool import zones

Confirme se o sistema de arquivos zones/usbkey existe e é um ponto de montagem "legado" (o que significa que está montado com mounte não zfs mount):

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

Monte-o:

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

Então siga oinstruções de redefinição de senha:

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

E assim mesmo, a alteração da senha persistirá quando você reiniciar normalmente.

informação relacionada