Ubuntu: borked mi archivo sudoers, ¿cómo puedo solucionarlo?

11

Estaba editando mi /etc/sudoersarchivo y lo guardé pero tiene un error de sintaxis allí. Ahora no puedo sudo vim /etc/sudoersporque sudo piensa que el archivo sudoers no es válido.

¿Cómo puedo arreglar esto?

fred basset
fuente

Respuestas:

6

Arranque el sistema en modo único y luego edítelo.

Ignacio Vazquez-Abrams
fuente
Gracias, mi Ubuntu se ejecuta en Virtualbox. ¿Cómo inicio en modo de usuario único?
fred basset
Sin embargo, no obtengo las opciones de grub en el arranque, se inicia directamente en Ubuntu ...
fred basset
Intenta mantener <Ctrl> o algo así.
Ignacio Vazquez-Abrams
1
@red basset: a medida que vm comienza, presione Esc varias veces, lo que debería dejarlo en grub, luego seleccione la opción de modo de recuperación.
usuario9517
21

Nunca debe editar su archivo sudoers directamente. Uso visudo: lo protegerá de estos errores de sintaxis en el futuro.

Para recuperarse de esta situación, inicie en modo de usuario único y edite el archivo o inicie desde un livecd y haga lo mismo.

EEAA
fuente
Gracias, me preguntaba qué hizo Visudo de manera diferente. Necesito averiguar ahora cómo arrancar en modo de usuario único. Mi Ubuntu se ejecuta en Virtualbox.
fred basset
1
visudo hace que edites una copia del archivo sudoers. Solo reemplazará el archivo sudoers si se valida cuando lo guarda. Utilizará el editor especificado por su variable EDITOR, por lo que puede usar su editor preferido. También se puede usar en el modo de verificación si editó el archivo y desea asegurarse de que aún sea válido.
BillThor
2

Como se señaló en esta pregunta similar en askubuntu , esto puede funcionar sin tener que reiniciar en modo de usuario único:

pkexec visudo
Tom
fuente
Esta es, con mucho, la forma más fácil de hacerlo, si está disponible.
belacqua
1

Por cierto, si tiene la contraseña de root, simplemente inicie sesión con ella y vuelva a configurarla como estaba.

chmod 0440 / etc / sudoers

Esto evitará que arranque en modo de usuario único o, lo que es peor, que arranque desde un livecd.

En mi caso, no podía permitirme bajar el servidor.

yaxzone
fuente
1

Si tiene instalado Docker y su usuario es miembro del dockergrupo, puede salir fácilmente de este problema (y algunos otros) sin reiniciar o lo que sea que tenga:

  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. Repara los archivos problemáticos
  5. exit
Adrian Günter
fuente
¿Estibador? ¿Has visto a Docker en alguna parte de la pregunta original?
Deer Hunter
2
Como la pregunta no especifica nada sobre el entorno del autor de la pregunta y ahora es 2015, lo que significa que algunas personas tienen instalado Docker, no entiendo ni su actitud hacia mí ni su desprecio por mi contribución. No es del todo insondable que alguien más en esta situación tenga instalado un software que, a día de hoy, ha sido protagonizado por 23.5k personas en GitHub. Si pkexecpor alguna razón no está disponible, esto proporciona un método alternativo, sin reiniciar, que es casi tan rápido y simple.
Adrian Günter