sudo: /usr/lib/sudo/sudoers.so debe ser propiedad de uid 0

10

Cada vez que intento hacer algo que requiera mi contraseña, me devuelve esto:

u7ur7l3@ubuntu:~$ sudo
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
u7ur7l3@ubuntu:~$

Por lo tanto, no puedo instalar nada desde el Centro de software / administrador de paquetes ni ejecutar ningún comando en el terminal que requiera mi contraseña. Puedo iniciar sesión, pero eso es todo.

Cambié accidentalmente los permisos de algunos archivos, luego cambié un poco más tratando de arreglarlo: /. Ahora estoy completamente perdido en cuanto a qué hacer.

Esto es lo que sucedió cuando intenté que sudo volviera a funcionar con pkexec:

u7ur7l3@ubuntu:~$ pkexec chown root /usr/lib/sudo/sudoers.so
Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program /usr/lib/dbus-1.0/dbus-daemon-launch-helper: Success 

u7ur7l3@ubuntu:~$ sudo ls
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0 sudo: fatal error, unable to load plugins

Y para cambiar los permisos, estaba usando Root Actions como un servicio / complemento de Dolphin, por lo que el historial no me muestra los cambios de permisos.

Me acabo de dar cuenta de que los sonidos ya no funcionan. Cuando entro en Phonon, mi configuración predeterminada y los dispositivos de reproducción ni siquiera están allí. Además, no tengo la opción de cerrar, solo puedo cerrar sesión o salir.

7UR7L3
fuente
¿Es nuevo el problema de sonido y apagado desde que ejecutó el pkexeccomando?
Eliah Kagan
@Eliah Kagan, no, me di cuenta del problema de sonido justo cuando inicié sesión en mi computadora, y me di cuenta del problema de apagado cuando estaba apagando mi computadora anoche. Terminé simplemente presionando el botón de encendido.
7UR7L3
He ampliado mi respuesta para proporcionar instrucciones que deberían funcionar aunque ninguno de los dos sudoy PolicyKit (vía pkexec) funcionen.
Eliah Kagan
2
su root chown -R root: root / usr / lib /

Respuestas:

20

La propiedad de al menos uno de los archivos importantes del sistema es incorrecta. Eso es algo malo; Si esto le ha sucedido a muchos archivos del sistema (¿quizás ejecutó un sudo chowncomando grande con la -Rbandera en algún momento?), podría causar una serie de otros errores e inestabilidades del sistema. Entonces, si instaló Ubuntu recientemente , es posible que desee reinstalar como sugiere Adam Heathcote .

Pero no tiene que reinstalar para solucionar este problema . En cambio, solo arregle la propiedad en ese archivo. Si recibe errores sobre otros archivos después de eso, también puede corregirlos (aunque es posible que tenga que decirnos cuáles son los mensajes de error, para que podamos decirle cómo solucionarlos también).

sudono funciona, pero el usosudo es una de las dos formas para que los administradores realicen acciones como root en Ubuntu. El otro es Polkit (que solía llamarse PolicyKit).

Ejecute este comando, que usa Polkit (vía pkexec) para cambiar la propiedad de /usr/lib/sudo/sudoers.soatrás a root(es decir, uid 0):

pkexec chown root /usr/lib/sudo/sudoers.so

Luego intente usar de sudonuevo. Puede ejecutar algo trivial como , y ver si recibe un mensaje de error.sudo ls

Finalmente, recomiendo ejecutar historypara revelar todos los comandos que ha ejecutado. Esperemos que enumere todos los comandos que ha ejecutado que han cambiado los permisos. Suponiendo que sudoahora funciona, recomiendo publicar una nueva pregunta, incluida la salida de history, para obtener ayuda para deshacer todos los cambios de propiedad y permisos de archivos que ha realizado.

Si pkexectampoco funciona ...

Lo intentaste pkexecy no funcionó. Dado que sudoni Polkit está trabajando para permitirle realizar acciones como root, tendrá que iniciar en modo de recuperación y obtener un shell de root. Para hacer esto, mantenga presionado Shiftmientras arranca su computadora, para asegurarse de obtener un menú de arranque GRUB visible. Seleccione una entrada que contenga el modo de recuperación de palabras (generalmente, debe seleccionar la más cercana a la parte superior que tenga esas palabras). Luego obtendrá un menú donde tiene una serie de opciones: seleccione la opción para colocar en un shell raíz.

Aquí encontrará instrucciones detalladas sobre cómo acceder a un shell raíz en modo de recuperación:

Una vez que tenga un shell raíz, ejecute:

chown root /usr/lib/sudo/sudoers.so

Si obtiene un error acerca de que el archivo o sistema de archivos no se puede modificar, vuelva a montarlo readwrite:

mount -rw -o remount /

(Fuente de la idea de volver a montar y cómo hacerlo: esta respuesta en su mayoría no relacionada ).

Luego, después de ejecutar ese mountcomando, ejecute el chowncomando anterior nuevamente y vea si funciona.

Una vez que haya terminado en modo de recuperación, puede reiniciar ejecutando:

reboot

sudoEntonces debería funcionar, o al menos dar algún otro error.

Finalmente, tenga en cuenta que, dados los errores que mostró, es probable que muchos archivos ahora tengan la propiedad o los permisos incorrectos. Sería ideal si pudiera averiguar qué archivos modificó de esta manera. Por ejemplo, si pudieras descubrir que se trataba de todos los archivos en un par de carpetas específicas, entonces podría ser posible corregir la extensión completa de los problemas recientes que has tenido.

Reinstalar es definitivamente una opción, pero especialmente si todo lo que cambió fue propiedad (y no permisos, que son algo más difíciles de reconstruir ya que varían más), debería ser posible simplemente volver a configurar los permisos de forma recursiva a sus propietarios originales (probablemente generalmente root ) e invertir el daño por completo.

Conseguir sudotrabajar de nuevo es un primer paso. Esperemos que la técnica anterior te permita hacer eso.

Eliah Kagan
fuente
Seguí esas instrucciones, pero cuando reinicié en kubuntu, el problema aún existía. Mismo error. En este punto, probablemente sea más fácil volver a instalarlo. : /
7UR7L3
Además, ¿hay alguna manera de que pueda hacer algo como esto: askubuntu.com/questions/9135/… para guardar todo? Todo junto como un script pseudo-bash no funcionará porque sudo está involucrado, así que ...
7UR7L3
@ 7UR7L3 Eso respaldará la información sobre qué paquetes están instalados y la mayoría de la información sobre la configuración de todo el sistema de sus programas. En combinación con una copia de seguridad completa de su directorio de inicio, eso debería permitirle restaurar las cosas principalmente como estaban, después de eliminar el sistema existente e instalar uno nuevo, sí. Asegúrese de tener una copia de seguridad de todos los archivos verdaderamente importantes (como sus documentos) en todo momento. Si encuentra que necesita más información sobre esa técnica aplicada a su situación, le sugiero que publique una nueva pregunta (pero no me importa si hace comentarios aquí).
Eliah Kagan
¿Hay una buena manera de hacer todo esto? Tengo una unidad externa de 1 TB en la que puedo hacer copias de seguridad, pero no aparecerá en ninguna parte cuando la conecte. Está encendida para mostrar que funciona, pero nada en la pantalla está cambiando y no está en ninguna parte de Dolphin . Luego, una vez que empiezo a trabajar, ¿cómo debo hacer para guardarlo todo? En el administrador de paquetes podría guardar los paquetes instalados en un documento de texto, pero eso es realmente todo lo que he descubierto para guardar la información. Casi todas las otras soluciones involucran sudo que todavía no funcionará.
7UR7L3
@ 7UR7L3 ¿Para hacer una copia de seguridad de los archivos? Arranque desde un CD / DVD en vivo o USB en vivo. Puede acceder a sus archivos desde allí y hacer una copia de seguridad en su unidad externa. Si su unidad externa tampoco aparece en el sistema en vivo, entonces ese es un problema totalmente diferente con el que podría no poder ayudarlo y casi seguramente no podría dentro de los límites de los comentarios. Entonces, si eso sucede, recomiendo publicar una nueva pregunta. Si comenta aquí con un enlace a la nueva pregunta, me aseguraré de mirarla y contribuir si puedo.
Eliah Kagan