GNU/Linux >> Tutoriales Linux >  >> Ubuntu

No se puede Stat /etc/sudoers:¿No existe tal archivo o directorio?

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
Relacionado:¿Cómo personalizar (agregar/eliminar carpetas/directorios) el menú "Lugares" de la aplicación "Archivos" de Ubuntu 13.04?

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.


Ubuntu
  1. ¿Error en el archivo Sudoers? Así es como puedes arreglarlo.

  2. Arreglar el archivo sudoers roto – sudo:error de análisis en /etc/sudoers cerca de la línea 21 [Ubuntu]

  3. Debian – -bash:/usr/bin/nano:¿No existe tal archivo o directorio?

  4. Comprender el directorio /etc/xinetd.d en Linux

  5. Cómo deshabilitar "sudo su" para los usuarios en el archivo de configuración de sudoers

Kubuntu muestra un error al iniciar sesión (file:///usr/share/sddm//themes/breeze/main.qml:no such file or directory)?

Arreglar ::el archivo abierto /home/user/etc/domainname/passwd falló con el error no existe tal archivo o directorio

CentOS / RHEL:cómo recuperarse de un archivo /etc/passwd eliminado

-bash:/usr/bin/virtualenvwrapper.sh:No existe tal archivo o directorio

unix:///var/run/supervisor.sock no hay tal archivo

Rompí mi archivo /etc/sudoers en Amazon EC2