AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 457821
Accepted
slm
slm
Asked: 2018-07-23 12:29:15 +0800 CST2018-07-23 12:29:15 +0800 CST 2018-07-23 12:29:15 +0800 CST

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

  • 772

Baixei recentemente a VM oficial centos/7 Vagrant Cloud . Ao tentar acessar o menu GRUB2 durante uma reinicialização por meio da echave, encontrei um prompt para um nome de usuário + senha.

ss1

Não tive sucesso em encontrar isso referido em qualquer lugar na página oficial desta VM, na postagem do blog anunciando-a , nem em nenhum desses repositórios git:

  • CentOS/sig-cloud-instance-build/vagrant
  • lpancecu/sig-cloud-instance-build

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

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

linux centos
  • 1 1 respostas
  • 6798 Views

1 respostas

  • Voted
  1. Best Answer
    slm
    2018-07-23T12:29:15+08:002018-07-23T12:29:15+08:00

    Como você normalmente terá acesso ao root sudoquando iniciar sua VM Vagrant, você pode simplesmente fazer login nela e se tornar root assim:

    $ vagrant ssh
    $ sudo -Es
    

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

    RHEL e CentOS 7.2+ e Fedora

    Começando com RHEL & CentOS 7.2+ & Fedora, há um script/ferramenta auxiliar, grub2-setpassword, que está incluído, o que simplifica bastante o processo para fazer isso.

    Para usar você faria o seguinte:

    $ grub2-setpassword
    Enter password:
    Confirm password:
    $
    

    Depois de fazer o acima, a senha será definida automaticamente 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 distribuições baseadas em CentOS procurando por ele da seguinte /etc/grub.dforma:

    $ 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, se formos reiniciar nossa VM e tentar usar as credenciais 'root' com a senha que fornecemos para grub2-setpassword:

    ss2

    Agora podemos entrar no menu:

    ss3

    Ubuntu 16.04+

    Em outras distribuições que não fornecem o script grub2-setpassword, o processo é um pouco mais complicado, mas não terrível.

    1. gerar uma senha criptografada

    Você precisa usar a ferramenta GRUB2 para criptografar sua senha:

    $ grub-mkpasswd-pbkdf2
    Enter password:
    Reenter password:
    PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.465B5EE2D2F6A767304EB397D6D97C70BC38653F95AFE58B24F190D5DABB0143920F736C125B91FB9F298AFF3D0F8FBBFB8228D5C8C9DD371ADBB1044CC80BFC.52D87AFD47A5BE2D7B6CF755D26CD5F481557DBCF5E725ABA44BF003A2970D3F775E8657428EDC201D86A3DF07D7A8109AFD5764EA058BE94D840F42ED17C3E2
    

    2. Adicione a senha à configuração do GRUB2

    e, em seguida, pegue a saída desse comando, grub.pbkdf2.sha512.10000.....e copie/cole em um arquivo.

    $ cat /etc/grub.d/40_custom
    #!/bin/sh
    exec tail -n +3 $0
    # 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
    

    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. Reconstrua o GRUB2grub.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 pegará todo o conteúdo /etc/grub.de o incorporará em um novo arquivo grub.cfg. Então nossa 40_customseção de grub.cfgvai 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

    • 25.6. PROTEGENDO O GRUB 2 COM UMA SENHA
    • COMO PROTEGER O GRUB2 BOOTLOADER COM SENHA NO RHEL/CENTOS 7
    • wiki do fedoraproject - GRUB2 - Configurando uma senha para o modo de edição interativa
    • Como proteger com senha seu menu GRUB
    • 5

relate perguntas

  • Inicie/pare o serviço systemd usando o atalho de teclado [fechado]

  • Roteador estranho funciona com centos 6 [fechado]

  • Necessidade de algumas chamadas de sistema

  • astyle não altera a formatação do arquivo de origem

  • Passe o sistema de arquivos raiz por rótulo para o kernel do Linux

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve