Como redefinir sua senha esquecida do Linux no WSL
Roman Samborskyi / Shutterstock
Esqueça a senha de usuário do subsistema Windows para Linux e você ficará travado em um loop. Para redefinir sua senha … você precisa saber sua senha. Veja como escapar desse ciclo.
Bloqueado em um loop infinito
Um ouroboros é um símbolo antigo que representa uma serpente ou dragão que está comendo sua própria cauda. Se você esquecer a senha de usuário do subsistema do Windows para Linux (WSL), você se verá preso em um loop igualmente desagradável e interminável.
Na primeira vez que você iniciar uma distribuição Linux recém-instalada sob o WSL, será solicitado que você forneça um nome de usuário e uma senha. Esta é a sua senha de usuário. Em uma instalação normal do Linux, sua senha é solicitada sempre que você faz login. No entanto, com o WSL, seu usuário é conectado automaticamente e você é levado diretamente para o prompt de comando do Linux.
Como você não precisa usar sua senha para fazer login, é fácil que ela saia da sua mente. Especialmente se você não usa o WSL com frequência.
Isso pode não parecer um revés porque, afinal, você se conectou automaticamente. O problema se torna aparente quando você tenta acessar arquivos que não estão em seu diretório inicial, instalar software ou executar atividades administrativas, como criar e gerenciar outros usuários.
Publicidade
Para fazer essas coisas, você precisa usar o comando sudo. No Linux, você prova que está autorizado a usar o comando sudo fornecendo sua senha.
A resposta óbvia é redefinir sua senha. Você esqueceu, então defina um novo, certo? Essa é uma ótima ideia. Mas o comando passwd requer sua senha atual para provar que você é você. É uma medida de segurança sensata. O comando passwd requer prova de que você é o proprietário da conta de usuário da qual está alterando a senha antes de permitir que você altere a senha.
Se você usar sudo com o comando passwd, poderá alterar a senha de qualquer usuário, independentemente de saber sua senha ou não. Isso parece uma solução, mas ainda estamos frustrados porque, para usar o comando sudo, você precisa saber sua senha. Isso está começando a parecer um ouroboros e um Catch-22 combinados.
Existem maneiras de escapar desse quebra-cabeça lógico circular, é claro. Aqui estão dois que você pode experimentar.
Reinicializando com o executável do Linux
Mostraremos duas maneiras de fazer isso. Uma forma é um pouco mais envolvente do que a outra, mas funcionou todas as vezes que tentamos. A outra maneira é um método um pouco mais simples, mas tivemos resultados mistos com ele.
Precisamos identificar o arquivo executável para a distribuição Linux que você está usando com o WSL. No Windows 10, ele &’ estará neste diretório:
c: \ usuário \ < nome de usuário > \ AppData \ Local \ Microsoft \ WindowsApps
Publicidade
Substitua “ < nome de usuário > ” com o nome de sua conta de usuário do Windows. Em um prompt de comando do Windows, mude o diretório para este local e digite “ dir. ”
dir
O executável deve ser fácil de identificar. Nesta máquina de teste, instalamos o Ubuntu 20.04 e o “ ubuntu2004. exe ” arquivo é evidentemente o que estamos procurando.
Iniciaremos uma sessão do Ubuntu, mas diremos a ele para fazer login como o usuário root em vez da conta de usuário que você criou quando instalou a distribuição do Linux.
configuração do ubuntu2004 - root do usuário padrão
Uma sessão do Ubuntu é iniciada e o prompt de comando é apresentado em uma janela de terminal. O prompt está em texto branco e o caractere final é um hash “ # ” nem um dólar “ $ ” assinar. Isso nos diz que o usuário é o usuário root e não um usuário normal. O nome de usuário também indica “ root. ”
Se mais provas forem necessárias, podemos usar o comando whoami.
whoami
Então, definitivamente estamos logados como root. Podemos prosseguir e redefinir a senha do usuário padrão. O comando passwd solicitará a nova senha e, em seguida, solicitará que você a insira uma segunda vez. Nenhum deles irá ecoar na tela. A senha que estamos alterando pertence ao usuário “ dave. ”
passwd dave
Publicidade
Lembre-se de qual é a nova senha. Sairemos da sessão do Ubuntu e retornaremos ao prompt de comando do Windows.
sair
Para testar nossa nova senha, precisamos iniciar uma nova sessão do Ubuntu e redefinir a conta do usuário normal como a conta padrão.
ubuntu2004 config --default-user dave
A sessão é iniciada e nós estamos novamente logados como usuários normais, com nosso prompt de comando colorido usual.
Para provar que nossa senha foi alterada, usaremos o comando sudo em um comando. O comando que usamos não importa, é o fato de que estamos usando o sudo que é importante. Usaremos o comando ps para listar alguns processos.
sudo ps -e
Você será solicitado a fornecer a senha que criou ao usar o comando passwd como root. A senha deve ser aceita e o comando deve ser iniciado para você.
Reinicializando com o comando wsl
Podemos realizar a mesma coisa usando o comando WSL. Em nossos testes, obtivemos resultados inconsistentes, mas você pode ter mais sorte do que nós. Este é um método mais curto, então você pode querer tentar primeiro e se não funcionar para você, tente o método mais longo que mostramos acima.
Em um prompt de comando do Windows, digite:
wsl - root do usuário
Publicidade
Uma sessão Linux será iniciada. Você estará logado como root. Você pode verificar isso usando o comando whoami.
whoami
Para redefinir a senha esquecida do usuário, use o comando passwd e forneça o nome da conta do usuário.
passwd dave
Você será solicitado a fornecer a nova senha duas vezes. E deve ser isso.
Se você sair desta sessão e iniciar uma nova sessão, você será conectado novamente como a conta padrão regular e terá uma nova senha.
Pare de roer o rabo
Uma ou ambas as técnicas funcionarão para você, e você ficará livre do ciclo interminável de não ser capaz de redefinir sua senha porque não sabe sua senha.
Nenhum comentário