Como você muda o nome de usuário e a senha do GRUB2?

3

Recentemente, fiz o download da VM de Nuvem do Vagrant centos / 7 oficial. Ao tentar acessar o menu do GRUB2 durante uma reinicialização por meio da tecla e , encontrei um prompt para um nome de usuário + senha.

NãotivesucessoemencontrarissoemqualquerlugarnapáginaoficialdestaVM,no post no blog anunciando , nem em nenhum desses git repos:

Talvez eu tenha modificado isso em algum momento e não mais lembre o nome de usuário & senha que foi usada para proteger o menu de inicialização do GRUB2.

Em ambos os casos, em vez de procurar mais, como posso simplesmente alterar as credenciais do GRUB2 para o que eu quiser?

    
por slm 22.07.2018 / 22:29

1 resposta

3

Como você normalmente tem acesso ao root via sudo ao iniciar sua VM do Vagrant, basta fazer login e tornar-se root da seguinte forma:

$ vagrant ssh
$ sudo -Es

Uma vez que você é root, você pode redefinir as credenciais para o que quiser de uma das duas maneiras.

RHEL & CentOS 7.2+ & Fedora

Começando com o RHEL & CentOS 7.2+ & O Fedora tem um script / ferramenta auxiliar, grub2-setpassword , que inclui o que simplifica bastante o processo para fazer isso.

Para usá-lo, você faria o seguinte:

$ grub2-setpassword
Enter password:
Confirm password:
$

Depois de ter feito o acima, a senha será automaticamente definida para você neste arquivo: /boot/grub2/user.cfg :

$ cat /boot/grub2/user.cfg
GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.5A95A11398D5DEAA9B205DCEA37E0FDCC069CF6D0C398E8C9FF2ED1D8DE072DDE1D916F955266C306AAC7CA62E0D29A7C6558F3B29E40008289DBE857B8354CE.DD410AA2E5D6495BA723147046B88B89A585656AF4298F07CBC93E7A4F73713A824AE1F3448F837809B6655861A1BA5F0FB615206470E4228E57F7BCF11442A3

Você pode ver como esse arquivo é usado pelo GRUB2 em distros baseadas no CentOS, procurando por ele em /etc/grub.d da seguinte forma:

$ grep -l user.cfg /etc/grub.d/*
/etc/grub.d/01_users

Conteúdo desse arquivo:

$ cat /etc/grub.d/01_users
#!/bin/sh -e
cat << EOF
if [ -f \${prefix}/user.cfg ]; then
  source \${prefix}/user.cfg
  if [ -n "\${GRUB2_PASSWORD}" ]; then
    set superusers="root"
    export superusers
    password_pbkdf2 root \${GRUB2_PASSWORD}
  fi
fi
EOF

Ah, então o usuário padrão será 'root'. Bom, portanto, se reinicializássemos nossa VM e tentássemos usar as credenciais 'root' com a senha que fornecemos para grub2-setpassword :

Agorapodemosentrarnomenu:

Ubuntu16.04+

Emoutrasdistrosquenãofornecemoscriptgrub2-setpassword,oprocessoéumpoucomaiscomplicado,masnãoterrível.

1.gerarumasenhacriptografada

VocêprecisausaraferramentaGRUB2paracriptografarsuasenha:

$grub-mkpasswd-pbkdf2Enterpassword:Reenterpassword:PBKDF2hashofyourpasswordisgrub.pbkdf2.sha512.10000.465B5EE2D2F6A767304EB397D6D97C70BC38653F95AFE58B24F190D5DABB0143920F736C125B91FB9F298AFF3D0F8FBBFB8228D5C8C9DD371ADBB1044CC80BFC.52D87AFD47A5BE2D7B6CF755D26CD5F481557DBCF5E725ABA44BF003A2970D3F775E8657428EDC201D86A3DF07D7A8109AFD5764EA058BE94D840F42ED17C3E2

2.AdicionarsenhaaoGRUB2config

e,emseguida,pegueasaídadessecomando,grub.pbkdf2.sha512.10000.....,ecopie/coleemumarquivo.

$cat/etc/grub.d/40_custom#!/bin/shexectail-n+3$0#Thisfileprovidesaneasywaytoaddcustommenuentries.Simplytypethe#menuentriesyouwanttoaddafterthiscomment.Becarefulnottochange#the'exectail'lineabove.setsuperusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.465B5EE2D2F6A767304EB397D6D97C70BC38653F95AFE58B24F190D5DABB0143920F736C125B91FB9F298AFF3D0F8FBBFB8228D5C8C9DD371ADBB1044CC80BFC.52D87AFD47A5BE2D7B6CF755D26CD5F481557DBCF5E725ABA44BF003A2970D3F775E8657428EDC201D86A3DF07D7A8109AFD5764EA058BE94D840F42ED17C3E2

NOTA: estamos definindo o nome de usuário como 'root', pode ser o que você quiser. Se você alterá-lo, certifique-se de alterá-lo em ambas as linhas ( superusers="root" & password_pbkdf2 root ... ).

3. Reconstruir o GRUB2 grub.cfg

Agora precisamos regenerar nosso grub.cfg :

$ grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.4.0-130-generic
Found initrd image: /boot/initrd.img-4.4.0-130-generic
done

Isso levará todo o conteúdo de /etc/grub.d e incorporá-lo a um novo grub.cfg . Portanto, nossa seção 40_custom de grub.cfg vai partir disso:

$ cat /boot/grub/grub.cfg
...
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
...

Para isso:

$ cat /boot/grub/grub.cfg
...
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.465B5EE2D2F6A767304EB397D6D97C70BC38653F95AFE58B24F190D5DABB0143920F736C125B91FB9F298AFF3D0F8FBBFB8228D5C8C9DD371ADBB1044CC80BFC.52D87AFD47A5BE2D7B6CF755D26CD5F481557DBCF5E725ABA44BF003A2970D3F775E8657428EDC201D86A3DF07D7A8109AFD5764EA058BE94D840F42ED17C3E2
### END /etc/grub.d/40_custom ###
...

Referências

por 22.07.2018 / 22:29