Estaba usando Ubuntu 14.04 recientemente. Y de alguna manera cambié el permiso a /etc/sudoers
expediente. Entonces, cada vez que ejecuto cualquier comando usando sudo, obtengo estos errores:
sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
Pude iniciar sesión como usuario y volver a cambiar los permisos. Así que ahora, cuando ejecuto ls -l /etc/sudoers
comando que obtengo:
-r--r----- 1 root root 755 жов 14 2016 /etc/sudoers
Pero no pude convertir a root en propietario. Y sigo teniendo los mismos errores cuando trato de usar sudo.
He leído muchas cosas aterradoras sobre este problema. Entonces, ¿podría ayudarme a resolver este problema? Estaría muy agradecido por el consejo.
Respuesta aceptada:
Acceso directo:
dpkg-reconfigure: Si algo está mal con el permiso de /etc/sudoers
archivo, con acceso de root ejecute:dpkg-reconfigure sudo
. algo como pkexec dpkg-reconfigure sudo
debería hacer el trabajo.
visudo: Si dpkg-reconfigure
no funciona para usted, simplemente ejecute pkexec visudo
, los sudoers
el archivo se abrirá en un editor, luego simplemente guarde y cierre el archivo, visudo
arreglará el permiso por ti.
Después de todo, si cambiaste sudoers.d
permisos de directorio también, luego ejecute:
pkexec chmod 755 /etc/sudoers.d
Si los archivos están allí y sus permisos son los correctos, pero aún recibe este mensaje de error, la única posibilidad que se me ocurre es que haya violado otros permisos y sudo
no tiene acceso a /etc/sudoers
. la conjetura más posible es permisos de /etc/
.
Así que ejecuta:
pkexec chmod 755 /etc
Hemos terminado, sin embargo, si desea una instrucción detallada para restaurar sudoers
rotos o eliminados archivo con permisos desordenados siga adelante, vamos a usar otra forma de arreglar las cosas.
Introducción
Jugué con mis /etc/sudoers
archivo para obtener un error similar al suyo. Me acerco mucho, así que borro el mío por completo y se vuelve exactamente como el tuyo.
Lo que hice para solucionar el problema:
Mi cuenta raíz estaba bloqueada y no tenía ninguna contraseña, por lo que me era imposible hacer lo que quería hacer. sin embargo, si su cuenta raíz está activa y tiene una contraseña, cambie a usuario raíz con su -
y sáltate esta parte. si no, sigue las instrucciones.
Antes de continuar, debo mencionar que siempre puede usar un disco en vivo para hacer un chroot
en su sistema, hay muchas instrucciones sobre chroot usando un disco en vivo, así que no me voy a molestar en volver a dar todas esas instrucciones, en su lugar, voy a asumir que no tenemos ningún disco en vivo y estamos vamos a usar lo que ya tenemos, para solucionar este problema. Si está satisfecho con cheroot
ve por ese camino, eso también haría el trabajo.
Obtención de acceso raíz
- Reinicia tu sistema
- Cuando aparezca grub, presione e para editarlo
- Al final de la línea que comienza con linux, agregue
init=/bin/bash
- Presione CTRL +X
Ahora se le colocará en un shell bash con acceso de root. primero vuelva a montar el sistema de archivos con acceso de escritura:
mount -o remount,rw /
Luego desbloquee el usuario root y establezca una contraseña en él:
passwd -u root
passwd root
Ahora si su /etc/sudoers
todavía existe en /etc
, muévelo a otro lugar:
mv /etc/sudoers /etc/sudoers.broken
Porque le diremos a nuestro administrador de paquetes que falta este archivo y lo reemplazará por uno correcto, por lo que no debería estar allí.
Casi hemos terminado, reinicie su sistema. inicie sesión como su usuario normal, abra una terminal y luego intente su -
para cambiar a usuario root. No pude hacer esto, así que lo que hice fue usar CTRL +ALT +F1 , para entrar en tty1
, luego inicié sesión como root con la nueva contraseña que acabamos de configurar.
Traer de vuelta a los sudoers
Simplemente deberíamos reinstalar el sudo
paquete, sin embargo, la reinstalación no recupera este archivo, debemos decirle al dpkg
para arreglar los archivos de configuración que faltan también, así:
apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall sudo
Recuerda que te preguntará sobre la instalación del /etc/sudoers
archivo, insertando y
di que sí.
Si no funcionó para usted, haga lo siguiente como root:
mkdir /root/tmp
cd /root/tmp
apt-get download sudo
dpkg-deb -x sudo*.deb .
cp etc/sudoers /etc/sudoers
cd /root
rm -r tmp
Ahora puede haber algunas diferencias entre los permisos, ejecute dpkg-reconfigure sudo
arreglarlo. si no funcionó, ejecute visudo
como usuario root, los sudoers
el archivo se abrirá en un editor, luego simplemente guarde y cierre el archivo, visudo
arreglará el permiso por ti.
Si todo va bien, su archivo sudoers estará de regreso y podrá usar sudo como lo hacía antes.