Entré chmod -R 777 /usr/bin
y ahora sudo no funciona.
Dice sudo must be setuid root
.
Algunos consejos en línea dicen que se ejecute chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
.
Al ingresar chown root:root /usr/bin/sudo
muestra un opened in readonly mode
error.
permissions
sudo
root
chmod
Manoj Kumar
fuente
fuente
pkexec
método en mi respuesta (que has marcado como aceptado) resolvió este problema por ti? Me he convencido de que, como han comentado Damien Roche y Oli, este método no funciona realmente después de que unsudo chmod -R 777 /usr/bin
comando se haya completado con éxito. Al igualsudo
,pkexec
tiene que ser setuid root para que funcione. (No estoy seguro de por qué, ya que usa el servicio polkit , pero lo hace). Sin embargo, creo que he oído a otras personas decir que esto les ha funcionado, ¡lo cual es curioso! ¿Había presionado Ctrl + C antes de que777
terminara el comando chmod?sudo chmod -R 777 /usr/bin
, pero solo después de iniciar sesión en laroot
cuenta.Respuestas:
En un sistema de escritorio de Ubuntu, PolicyKit se instala, por lo que
pkexec
se puede utilizar para reparar una fracturasudo
ejecutable osudoers
archivo . No necesita iniciar en modo de recuperación y no necesita iniciar desde un CD en vivo. Ni siquiera necesita reiniciar.En este caso, ejecute los siguientes comandos:
Vea esta pregunta para más información.
fuente
pkexec must be setuid root
! ¡Qué pesadilla!pkexec
exactamente la misma situación quesudo
. Normalmente es setuid y vive adentro/usr/bin
. Lo he probado y esto simplemente no funciona despuéschmod -R 777 /usr/bin
.pkexec
tiene que ser setuid root para que funcione (¿no funciona a través del demonio polkit como otros procesos no setuid?), Pero lo necesita. He comentado la pregunta para ver si el OP (que aceptó esto) puede arrojar luz sobre lo que, si es que hay algo, es correcto o útil sobre esta respuesta. Y agregué un banner temporal en la parte superior de esta publicación para no engañar más. Si esta respuesta continúa existiendo, su forma mejorada probablemente incorporará alguna información actualmente en ese banner.su
, que se encuentra debajo de / bin/usr/bin
requiere privilegios de root, pero no puede rootearsu
en la mayoría de los sistemas Ubuntu porque los inicios de sesión root están deshabilitados de forma predeterminada. A diferencia desudo
ypkexec
, cuando utilizasu
un shell de root o ejecuta un comando como root, debe proporcionar la contraseña de root, no la suya. Pero root no tiene contraseña por defecto en Ubuntu (lo que quiere decir que la autenticación basada en contraseña para root siempre fallará, no que ingresar una contraseña en blanco funcionaría). Ver RootSudo para más detalles.Incluso cuando se ejecuta desde el CD / Pendrive en vivo, debe anteponer su
chmod
comando consudo
. Entonces sus pasos serán los siguientes:sudo chmod 0755 <path>
para ajustar los permisosCómo averiguar dónde está montado su disco: desde una ventana de terminal, ejecute
mount
(sin argumentos). Esto enumerará todos los dispositivos montados. Verifique lo quetype
aparece en la lista: puede omitir todo lo que no esté utilizando un "sistema de archivos real" (su disco probablemente usa ext3 o ext4; puede saltear cosas como proc, sysfs y similares). Si algo suena prometedor (parece/dev/sda1 on /media/sda1 type ext3
), verifique su contenido usandols /media/sda1
para ver si es eso.Si no se monta, se puede comprobar con las
/dev
entradas en las que el disco podría ser (utilizandols /dev/ |grep '/dev/sd
para comprobar si hay dispositivos disponibles; el disco debe ser similar/dev/sdaX
,/dev/sdbX
o similar -, siendo X un número). Compare esto con la lista de dispositivos montados. Si no está allí, intente montarlo y verifique su contenido (como se muestra arriba). Para montarlo, primero cree un punto de montaje, por ejemplosudo mkdir /mnt/mydisk
, luego intente montar el dispositivo usandomount /dev/sda1 /mnt/mydisk
y verifique su contenido usandols /mnt/mydisk
.Una vez que el disco allí, se puede ir a cambiar los permisos de vuelta en su directorio usr:
sudo chmod 0755 /mnt/mydisk/usr
.Ahora todavía podría estar en problemas si originalmente ejecutó el
chmod
comando de forma recursiva, utilizando el-R
parámetro. En ese caso, puede intentar arreglar cada entrada manualmente, o puede ir directamente a una nueva instalación ...fuente
mount /dev/sda /mnt/mydisk
desderoot@Ubuntu:/dev#
mkdir -p /mnt/mydisk && mount /dev/sda1 /mnt/mydisk
(no creo que tengas particiones/dev/sda
, así que debes haber perdido también el número de partición. Asegúrate de especificar el dispositivo correcto (o el montaje fallará).Creo que Mat está en lo correcto, debes ser root para agregar el bit a / usr / bin, pero por supuesto sudo está roto. Si tiene una contraseña de root, puede usarla para iniciar sesión como root y luego corregir los permisos con el comando anterior. Sin embargo, si no lo hace (y yo tampoco), probablemente sería mejor:
Root siempre es el número de usuario 0, por lo que root en cualquier sistema puede realizar cambios permitidos en otros sistemas de archivos.
fuente
No tengo mucho conocimiento Pero estos pasos resolvieron mi problema incluso sin reiniciar mi máquina. Sigue estos pasos:
fuente
root
, que no es la configuración predeterminada de Ubuntu.En un intento de establecer permisos para mis scripts locales, rompí el permiso de sudo y cambié de propietario, por error. Pude volver a cambiar la propiedad de sudo a root haciendo lo siguiente:
Paso 1: cambia al modo de recuperación de ubuntu . Si no conoce el proceso, puede consultar una respuesta aquí: /ubuntu//a/172346/223901
Paso 2: una vez en el modo de recuperación, seleccione root - Soltar al indicador de shell de root
Paso 3: haz los siguientes comandos
Espere a que su sistema arranque normalmente y verá la propiedad de sudo de nuevo a la raíz.
fuente