Ubuntu: borked meu arquivo sudoers, como posso corrigi-lo?


11

Eu estava editando meu /etc/sudoersarquivo e o salvei, mas há um erro de sintaxe. Agora não posso, sudo vim /etc/sudoersporque o sudo acha que o arquivo sudoers não é válido.

Como posso consertar isso?


Respostas:


6

Inicialize o sistema no modo único e edite-o.


Obrigado, meu Ubuntu está sendo executado no Virtualbox. Como inicio no modo de usuário único?
fred basset


Eu não entendo as opções GRUB no tempo de inicialização no entanto, ele inicia direto para o Ubuntu ...
fred basset

Tente segurar <Ctrl> ou algo assim.
Ignacio Vazquez-Abrams

1
@ basset vermelho: Quando o vm começar, pressione Esc várias vezes que o levará ao grub e selecione a opção modo de recuperação.
user9517

21

Você nunca deve editar seu arquivo sudoers diretamente. Use visudo- ele o protegerá contra esses erros de sintaxe no futuro.

Para se recuperar dessa situação, inicialize no modo de usuário único e edite o arquivo ou inicialize em um livecd e faça o mesmo.


Obrigado, eu queria saber o que visudo fez diferente. Eu preciso descobrir agora como inicializar no modo de usuário único. Meu Ubuntu está sendo executado no Virtualbox.
fred basset

1
visudo faz com que você edite uma cópia do arquivo sudoers. Ele substituirá o arquivo sudoers apenas se for validado quando você o salvar. Ele usará o editor especificado por sua variável EDITOR, para que você possa usar seu editor preferido. Também pode ser usado no modo de verificação se você editou o arquivo e deseja ter certeza de que ele ainda é válido.
BillThor


1

A propósito, se você tiver a senha root, faça o login e volte a configurá-la como era antes.

chmod 0440 / etc / sudoers

Isso evitará que você inicialize no modo de usuário único ou, pior, inicialize a partir de um livecd.

No meu caso, eu não podia permitir o desligamento do servidor.


1

Se você tiver o Docker instalado e seu usuário for um membro do dockergrupo, poderá sair facilmente desse problema (e de alguns outros) sem precisar reiniciar ou o que você tem:

  1. $ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
  2. apt-get update && apt-get install [vim|nano|whatever]
  3. cd ~/host.etc/
  4. Repare os arquivos com problemas
  5. exit

Docker? Você viu o Docker em algum lugar da pergunta original?
Deer Hunter

2
Como a pergunta não especifica nada sobre o ambiente do solicitante e agora é 2015, o que significa que muitas pessoas instalaram o Docker, não entendo sua atitude em relação a mim nem seu desprezo por minha contribuição. Não é de todo insondável que alguém nesta situação tenha instalado um software que, até hoje, tenha sido protagonizado por 23,5 mil pessoas no GitHub. Se, pkexecpor algum motivo, também não estiver disponível, isso fornece um método alternativo, sem reiniciar, que é quase tão rápido e simples.
Adrian Günter
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.