Não consigo mais acessar a conta root: o usuário não está no arquivo sudoers

4

Removai acidentalmente o meu desktop gnome e fiquei preso em tty1. Tentando reinstalar a área de trabalho e continuar recebendo o erro "o usuário não está no arquivo sudoers". Tendo problemas para adicionar meu usuário, novo no debian e não tenho certeza de como abrir / editar corretamente os sudoers de tty1 (ou realmente como editar arquivos da linha cmd para esse assunto, se alguém puder, por favor, dar alguns detalhes)!

    
por Jake 13.11.2013 / 19:12

1 resposta

7

Para editar o arquivo sudoers , primeiro você precisa ser root. Meu palpite, a partir dessa pergunta, é que você não ativou o acesso root para a sua instalação, correto?

Se for esse o caso, você precisa mudar isso:

  1. No prompt do gerenciador de partida, navegue até a entrada comum da qual você inicializa.
  2. Em vez de pressionar Enter pressione e para editar primeiro os parâmetros da linha de comando do kernel
  3. No editor que é aberto, use as teclas de seta para encontrar a linha que começa com linux , vá até o final e anexe init=/bin/sh a ela. Isso substituirá seu sistema init temporariamente pelo shell do seu sistema e, como init é iniciado pelo root, esse será um shell raiz.
  4. Pressione CTRL + X para inicializar a entrada modificada
  5. Depois de ter um shell de root, você geralmente precisa remontar o sistema de arquivos raiz de leitura / gravação em vez de somente leitura. Digite o comando mount -o remount,rw / para fazer isso.
  6. Você pode ativar o acesso root digitando uma senha para root: use o comando passwd para isso.
  7. Geralmente você edita arquivos no modo texto usando um editor de modo de texto como vim ou emacs , nenhum dos quais o Debian envia por padrão. O que o Debian envia por padrão é uma versão leve de vim chamado vim.tiny .
  8. No caso específico do arquivo sudoers , você deve editá-lo usando visudo porque ele faz a verificação de sintaxe antes de gravar o arquivo. Se você seguir este procedimento para ativar a conta raiz, não precisará adicionar seu usuário comum ao arquivo sudoers .
  9. Com o acesso à raiz ativado, use reboot para inicializar normalmente (as edições na etapa 3 são temporárias e desaparecem na reinicialização). Quando confrontado com tty1 , você pode efetuar login como root (com a senha criada na etapa 6) e reinstalar sua área de trabalho.

Nota

Como foi observado por @jthill nos comentários abaixo, você pode optar por não permitir o acesso root e conceder ao seu usuário regular sudo (isso é possivelmente mais seguro). Nesse caso, em vez de usar passwd para dar uma senha à sua conta root, você deve usar:

usermod -aG regular_user_name sudo

Isso provavelmente só funcionará no Debian (e seus derivados), pois tem a entrada:

%sudo ALL = (ALL) ALL

que basicamente concede acesso sudo irrestrito a todos os membros do grupo sudo . O comando usermod acima foi criado para adicionar seu usuário comum ao grupo sudo . A presença da linha acima não é garantida para outras distros. Algumas distros usam um grupo chamado wheel em vez de sudo para esse propósito, por exemplo.

    
por 13.11.2013 / 19:25