Arquivo sudoers alterado e não pode mais abri-lo; não é possível abrir nenhum arquivo usando raiz

8

Alterei as configurações no arquivo sudoers usando

sudo visudo 

e estragou tudo. Agora, quando tento fazê-lo novamente ou abro qualquer arquivo usando o sudo, não consigo mais abri-lo e recebo esta mensagem de erro:

>>> sudoers file: syntax error, line 7 

E agora?

Existe alguma maneira de sair deste problema (para reverter as configurações), ou eu preciso instalar uma nova cópia do linux?

A razão que eu tenho tudo isso é que eu pressionei "Q", enquanto ele estava me dizendo que houve algum erro, o que foi muito estúpido de mim.

Obrigado.

EDITAR

Meu arquivo sudoers não é diferente do arquivo sudoers normal. Acabei de adicionar a linha timestamp_timeout = 0 nesse arquivo e todos esses problemas surgiram. Eu fiz o que James sugeriu e até removi essa linha (timestamp_timeout = 0). Eu mudei permissão de arquivo para 0440 que solicitou e, em seguida, inicializar normalmente. Então, recebo a mesma mensagem de erro

sudoers file: syntax error, line 7 
sudo: parse error in /etc/sudoers near line 7
como acima.

O que devo fazer agora ??

EDIT 2 Resolvido

Isso é o que eu fiz:

  1. Inicialize usando o livecd
  2. Remover o arquivo antigo dos sudoers
  3. Fiz o novo arquivo sudoers e copiei tudo para esse arquivo, ou seja, configurações mínimas, que por sorte eu salvei em outro arquivo
  4. permissão de arquivo alterado para 0440
  5. Reinicie novamente normalmente a partir do disco rígido

Viva!

    
por Karlo 25.07.2009 / 16:10

4 respostas

8

Supondo que você não forneceu uma senha ao usuário root, a maneira mais fácil de corrigir isso é com um CD ao vivo, como o Knoppix . Inicialização do CD. Monte o disco local, edite o arquivo, desmonte o disco e reinicie.

    
por 25.07.2009 / 16:12
6

Simples, inicialize o computador em ' modo de usuário único ' seguindo as etapas abaixo:

  1. Reinicializar
  2. Quando o Grub iniciar, pressione ESC (ou escape)
  3. Pressione 'e' para editar a linha atual
  4. Adicione 'single' ao final da linha que contém 'linux'
  5. Inicialização (pressione b)

Isso iniciará o computador com apenas um usuário, root. De lá, siga estas etapas:

  1. / usr / bin / vim / etc / sudoers (ou use o nano, pode ser mais fácil para você) para corrigir o problema
  2. Se você não tiver certeza do problema, tente copiar o exemplo incluído de sudoers de "/ usr / share / doc / sudo / examples" (varia) e, claro, adicionar seu usuário lá.
  3. Salve o arquivo, saia do Vim
  4. Reinicie, divirta-se!
por 25.07.2009 / 17:15
3

A idéia de James de usar um live cd (assumindo que a conta root não está habilitada) é boa. Eu adicionaria alguns pontos.

  • Primeiro, você pode ter sorte e um o backup do arquivo / etc / sudoers foi salvo automaticamente quando você estava editá-lo. Verifique em / etc por um arquivo que se parece com isso sudoers~ (você pode cd para esse diretório e execute ls -A sem raiz privilégios, mesmo que você não possa ler ou editar os arquivos como um regular usuário). Alguns editores criarão um backup, se possível, para que você possa tem um sem ter criado explicitamente.
  • Em segundo lugar, se você não tem ideia como editar o arquivo, você pode considerar postá-lo (ou a área ao redor da linha 7) aqui ou em outro lugar. Apesar de o próprio arquivo tem a ver com segurança, não há senhas nele, então não há nenhum dano imediato em postar isso.
  • Por fim, observe que uma mensagem de erro como o que você viu não necessariamente significa que o problema em si é literalmente na linha 7. O erro pode estar na linha 4, mas só foi desarmado fora, por assim dizer, na linha 7.
por 25.07.2009 / 16:41
0

Tente pressionar e, para editar. Isso deve permitir editar o arquivo e corrigir os erros.

    
por 25.07.2009 / 16:13