He hecho esto:
sudo chown -R myname /usr/
y ahora no puedo usar el sudocomando debido a este error:
sudo: debe ser raíz setuid
Y mientras leo esto significa que el propietario de este archivo /usr/bin/sudono es la raíz. Ahora es mi usuario debido al chown en la /usrcarpeta.
En muchos foros y blogs la gente sugiere hacer esto como root:
# chown root:root /usr/bin/sudo
# chmod 4111 /usr/bin/sudo
... pero el problema con esto es que necesito iniciar sesión como root, pero no puedo porque si escribo suen el terminal la contraseña es incorrecta (en realidad uso la contraseña que agregué a mi usuario):
$ su
Password:
su: Authentication failure
Entonces, ¿puedo recuperar el sudocomando?
Editar: Mi Ubuntu está bajo Paralells en mi Mac OS X.

su, se le pedirá la contraseña de root , no la contraseña de su usuario como consudo. ¿Conoces la contraseña de root para esta máquina?sudo chmod -R cirk:cirk /usr¿Qué estabas tratando de lograr?Respuestas:
Si tiene un sistema similar que puede usar como guía para ver cuál es la propiedad correcta de todos los archivos, puede iniciar en modo de rescate, soltar a un shell raíz y restaurar manualmente la propiedad correcta a todos los archivos. archivos en
/usr.La forma más rápida puede ser reinstalar su sistema operativo o restaurar desde la copia de seguridad.
En Ubuntu o similar, entonces no hay una contraseña de root por defecto (la cuenta está deshabilitada), por lo que no puede
su.fuente
chownnochmod. Dado que todo en la/usrcarpeta debería estarloroot:root, esta debería ser una solución fácil, no la solución minuciosa quechmodsignificaría un clobber.chownrestablece los bits setxid. Hay algunos archivos/usrque no son propiedad de la raíz; más que están en un grupo diferente (especialmente en los programas setgid/usr/bin).Dado que ha retenido los permisos en lo único que le brinda acceso a nivel raíz, necesitará ayuda de FUERA del entorno de software actual para solucionar esto.
Sugiero que la forma más fácil es iniciar un LiveCD para su distribución, montar su unidad y cambiar los permisos de archivo usando los
chmodque enumeró desde allí.También puede intentar arrancar en modo de usuario único para obtener un shell raíz.
Tenga en cuenta que, por lo general, todas las cosas en el
/usr/directorio deben ser propiedad,rootpor lo que debería poder hacer un recursivochownpara arreglar lo que rompió. ( Editar: según los comentarios de @Gilles aparentemente ejecutando corteschownsetuid y setgid bits, por lo que deberá compararlos manualmente con un sistema existente para restaurarlos una vez que arregle la propiedad nuevamente).Sin embargo, muy POCOS deberían ser
4111. Ese extra es un permiso especial, ¡pero eso hace que se ejecute como root incluso cuando se ejecuta como usuario! Solosudoy unos pocos comandos seleccionados deben tener este bit de permiso establecido. Si no ejecutó unchmodpara comenzar, probablemente no necesite arreglar esto en absoluto , todos los permisos ya deberían ser correctos. No ejecute unachmodoperación grande sin saber cuáles deben ser todos los permisos.fuente
sudo chown -R root /usr/?/usrel LivdCD, necesita montarlo en algún lugar y correr contra ese camino, digamos/mnt/mydrive/usr. Entonces necesitará arreglar el bit setuid/mnt/mydrive/usr/bin/sudo. Luego mire a través de / usr en el livecd y vea si hay otras propiedades que no sean root.find /usr -not -uid 0y cambiarlos para que coincidan. Luego busque cosas que tengan diferentes setuid o setgid bits y asegúrese de que coincidan también. Si tiene un sistema Ubunutu real para comparar, sería mejor.En el modo de recuperación de Ubuntu, ingrese los siguientes comandos ... Esto solucionó el problema para mí ...
Espero que esto solucione su problema (o el de otra persona)
Encontré este aquí en esta publicación de blog .
fuente
Esto es mucho más fácil que lo sugerido por otras respuestas. No es necesario formatear, reiniciar o usar Live CD.
Esta es la forma más fácil de solucionar este problema. Explicación, sudo está dañado (sé que corrupto es el término incorrecto, pero no funciona, por lo tanto, debemos evitar usar sudo)
He probado este método en Linux mint. Que es un sistema similar a ubuntu. Déjame saber que este método no funciona en ningún otro sistema operativo. Actualizará la respuesta en consecuencia.
Gracias
fuente
su root, y debido asudoque no funciona, es imposible establecer una contraseña raízEsto es más simple de lo que la gente lo está haciendo. Intenta lo siguiente:
sucomando roto , cierre la sesión como su usuario actual e inicie sesión nuevamente como root a través de su Display Manager normal (es decir, la pantalla de inicio de sesión).chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudoEsto debería solucionar el
sudocomando y tenerlo en funcionamiento nuevamente en poco tiempo.fuente
Para iniciar sesión como root, sin su o sudo, puede usar pkexec:
Ahora cambie los permisos de los archivos:
fuente