O Raspbian por padrão está configurado para que a conta raiz não possa ser conectada usando uma senha. Isso é feito começando com uma entrada na /etc/password
qual começa:
root:x:0:0:
Os campos são separados por dois pontos e explicados em man 5 passwd
(observe que 5
, uma vez man passwd
que você fornecerá a página de manual do comando passwd
; a seção 5 é para arquivos de configuração e, nesse caso, eles têm o mesmo nome). Aqui o primeiro é o nome ( root
), o terceiro e o quarto são os uid e gid numéricos (ambos 0
), e o segundo é para a senha. Para a maioria das entradas, isso x
indica que a senha real está em outro arquivo /etc/shadow
,.
Observe que "a senha real" não é realmente armazenada em nenhum lugar. O que está armazenado shadow
é um hash unidirecional da senha real. Um hash unidirecional é o resultado de um processo que sempre produzirá a mesma coisa (permitindo que sua senha seja verificada), mas é irreversível. Em outras palavras, se alguém shadow
colocar as mãos em prática , não há como deduzir a senha do hash. No entanto, se eles podem modificar shadow
, obviamente eles podem desativar ou alterar o que funcionará como uma senha. Mas eles nunca serão capazes de descobrir suas senhas. É por isso que nem mesmo é root
possível fazer isso (embora o root sempre possa alterá-los para outra coisa sem precisar do original).
No caso do root, a entrada in shadow
começa assim, assim como na maioria das outras contas do sistema:
root:*:
O *
indica que atualmente não existe uma senha possível que possa ser usada para esta conta.
O usuário root pode alterar isso, no entanto, usando o passwd
comando para definir uma nova senha, que substituirá a *
pelo hash mencionado anteriormente (eles sempre começam $n$
onde n
há algum valor aleatório usado como "salt" para o hash, mas você não precisa entender isso).
De qualquer forma, quando eu configuro um cartão a partir de uma imagem nova, a primeira coisa que faço é entrar /etc/passwd
e remover a x
entrada do root, então começa:
root::0:0
Observe que agora não há segundo campo. Isso significa que não há senha e tudo que você precisa fazer é digitar root
em um prompt de login e você está logado como root
. Você pode usar passwd
para definir um.
Portanto, você tem duas opções aqui, mas ambas exigem que você retire o cartão do pi e acesse a segunda partição de outro sistema (que pode ler / gravar partições ext4).
Restaurar sudoers
. Se você tem uma imagem de referência, é fácil, basta recolocá-la do jeito que estava, substituindo-a. Caso contrário, é a opção mais complicada, pois você deve saber o que está fazendo (e seu histórico sudoers
não é tão bom ...).
Edite /etc/passwd
e remova-o x
conforme descrito acima, coloque o cartão novamente, efetue login como root
, crie uma senha. Obviamente, você ainda precisará corrigir sudoers
, mas a tentativa e o erro serão facilitados, pois, se você for realmente root
, sempre poderá acessá-lo.
Se você não possui um sistema que pode acessar sistemas de arquivos ext4 (um "CD ao vivo" do Debian é uma boa opção aqui), então você está preso. Você precisará atualizar novamente o cartão e começar de novo.
/etc
. Sesudoers
não estiver lá, você pode excluí-lo acidentalmente; nesse caso, você terá que substituí-lo por uma nova imagem do debian (você não precisa criar um novo cartão, só precisa do arquivo de imagem, veja aqui ). #etc/passwd
o cartão e alterá-lo através da conta raiz da VM Debian.Raspbian NÃO tem uma
root
senha. Difere do Ubuntu nesse aspecto. Você pode criar umaroot
senha, mas o AFAIK exigesudo
.A melhor aposta é editar os arquivos montando o cartão SD em uma máquina Linux.
Isso pode ser feito no Pi se 1. você tiver um leitor de cartão SD 2. Você usa um bom sistema operacional em outro SD para inicializar o Pi.
fonte
Para definir uma senha root:
sudo passwd root
Fonte: https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=5056&start=25
fonte
Se você baixar o Puppy Linux para Raspberry Pi em http://puppylinux.org/main/Download%20Latest%20Release.htm#quirky e instalá-lo em um pendrive, poderá inicializar seu computador a partir disso e porque o Puppy sempre executado como root sem senha, você pode alterar qualquer coisa no computador que desejar. Faça as modificações e reinicie o computador sem a mídia de inicialização do Puppy. Agora o computador irá inicializar no seu sistema alterado sem o Puppy.
Sou um pouco novo no Raspberry Pi, então não sei como inicializá-lo a partir de um dispositivo diferente (pen drive), mas provavelmente há uma maneira. Talvez o sistema Noobs mantenha pressionada a tecla shift durante a inicialização.
Vou adicionar uma alternativa simples para inicializar a partir de outra unidade: o Raspberry Pi pode ser inicializado a partir da instalação do Puppy em um cartão SD (ou cartão microSD) e a mídia de instalação original pode ser lida e alterada a partir de um leitor de cartão conectado ao o mesmo Raspberry Pi.
fonte