Resuelto: sudo: /usr/bin/sudo debe ser propiedad del uid 0 y tener el bit setuid establecido

Instalando desde la consola nodejs y npmjs en un portátil con Ubuntu desktop 14.04 LTS perdí el acceso a root a través de sudo. Cuando lo intentaba en la consola aparecía el siguiente mensaje:

user@mylaptop:~$ sudo su

sudo: /usr/bin/sudo debe ser propiedad del uid 0 y tener el bit setuid establecido

La solución fue:

IMG_20160104_232113

  1. Reiniciar y en GRUB escoger ‘Opciones avanzadas de Ubuntu
  2. En el menú de recuperación:
    • ejecutar fsck para comprobar el sistema de archivos
    • a continuación ejecutar network para activar la red. Tuve que conectar el portátil  por cable ya que no se pudo conectar por WiFi.
    • Si la conexión a internet se establece ejecutar root para ir a la consola.
  3. En la consola ejecutar:
    • root@mylaptop# ap-get update (si hay conexión a internet)
    • root@mylaptop# apt-get dist-upgrade
    • root@mylaptop# apt-get install –reinstall sudo
    • root@mylaptop# apt-get autoremove
    • root@mylaptop# apt-get clean
    • root@mylaptop# usermod -a G suso user <– Cambiar user por el usuario que corresponda
  4. Comprobamos que el fichero /etc/sudoers contiene las siguientes líneas:
    • root@mylaptop# more /etc/sudoers# User privilege specification
      root ALL=(ALL:ALL) ALL# Members of the admin group may gain root privileges
      %admin ALL=(ALL) ALL# Allow members of group sudo to execute any command
      %sudo ALL=(ALL:ALL) ALL
  5. Finalmente reiniciamos a través de la consola:
    • root@mylaptop# reboot

Si toda ha ido bien, al regresar a la interfaz gráfica ya deberíamos poder adquirir privilegios de superusuario desde la consola con:

user@mylaptop:~$ sudo su

9 comentarios

  1. No me reconocio: apt-get install –reinstall sudo
    Consecuencia no lo pude resolver. Pero si tuve el mismo problema luego de querer instalar el generador de express.

    Al intentar instalar modulos NPM especialmente express: 
    npm install express-generator –g 
     
    tenia el error: 
     
    npm WARN checkPermissions Missing write access to /usr/lib/node_modules 
     
    Buscando encontre una solucion en NPM 
     
    https://docs.npmjs.com/getting-started/fixing-npm-permissions#fixing-npm-permissions 
     
    Donde se propone ejecutar dos comandos según opcion 1 que use: 
     
    npm config get prefix 
     
    sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share} 
     
     
    Despues de instalar modulos de NodeJS al hacer una configuracion: 
     
    Al hacer el minimo sudo el mensaje:  
    sudo: /usr/bin/sudo debe ser propiedad del uid 0 y tener el bit setuid establecido 
     
    Buscando encontre solo esta solucion que no logro que funcione, es mas no me toma reinstall sudo : 
     
    http://www.tonisoto.com/2016/01/resuelto-sudo-usrbinsudo-debe-ser-propiedad-del-uid-0-y-tener-el-bit-setuid-establecido/ 

  2. Muchas gracias. Esto funciono para mi. La unica diferencia es que no vi las lineas que mencionas despues del comando more y que al cambiar el user con usermod solo pude ver la lista de comandos a darle a usermod. Segui de todas formas las instrucciones y funciono, con la diferencia de que ahora, cuando hago sudo su, me aparecen un par de lineas repetidas mostrando el path de donde estoy.

  3. Gracias, me ha servido la solución.
    Tiene una linea mal, que todo el mundo sabrá la sentencia correcta, pero por si acaso.

    pone: root@mylaptop# ap-get update (si hay conexión a internet)
    correcta: root@mylaptop# apt-get update (si hay conexión a internet)

  4. Gracias, me ocurrió exactamente el mismo error y me soluciono el problema y recupero el sudo y la contraseña que tampoco la reconocía.

    Las nota idem a las 2 anteriores ya sabemos como corregirlas.

    Excelente.

  5. Hola, no me ha funcionado este protocolo que he seguido con detalle, pero me ha servido y ayudado para combinándolo con otras posibles soluciones de distintos foros , encontrar la solución al problema (así que gracias) .Yo hice lo siguiente (resumidamente) y me funcionó (eso sí tuve que probar diferentes posibles opciones o soluciones o combinaciones de ellas, hasta encontrar una que me funcionó):
    1) Ubuntu Recovery mode
    2) Seleccionar y pulsar Grub
    3) Seleccionar y pulsar Root console
    4) # chmod 4755 /usr/bin/sudo
    5) # reboot
    6) En Terminal Ubuntu: $ sudo su (+ tipar contraseña)
    7) Aparece # (y desapareció el mensaje de Error de sudo).

    • Tu solución:
      1) Ubuntu Recovery mode
      2) Seleccionar y pulsar Grub
      3) Seleccionar y pulsar Root console
      4) # chmod 4755 /usr/bin/sudo
      5) # reboot
      6) En Terminal Ubuntu: $ sudo su (+ tipar contraseña)
      7) Aparece # (y desapareció el mensaje de Error de sudo).
      Me soluciono correctamente, estuve intentando varias veces la anterior sin éxito.
      Gracias por la ayuda 😉

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.