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.
pkexeccomando?