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?


Respuestas:


6

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


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.


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


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.


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

¿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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.