Llevo algunas semanas usando una Raspberry Pi y dediqué muchas horas a configurar todo para mi proyecto universitario.
Quería instalar Samba y tener todo como una carpeta de red. Solía sudo chown -R pi:pi /
.
Ahora mi sudo está roto y se imprime sudo: effective uid is not 0, is sudo installed setuid root?
cada vez que lo ejecuto (por ejemplo sudo nano
).
¿Se puede reparar esto? Por favor ayúdenme para no tener que reinstalar TODO. Ni siquiera puedo recordar lo que hice en las últimas semanas... tanto trabajo.
Respuesta1
La ejecución sudo chown -R pi:pi /
básicamente rompió la propiedad de cada archivo en su sistema.
Desafortunadamente, reinstalar es probablemente la opción más sencilla en su caso. Sería muy tedioso y propenso a errores intentar restaurar las propiedades adecuadas a mano (presumiblemente usando una computadora diferente). Recomiendo crear una imagen del almacenamiento de su Raspberry Pi antes de reinstalar, para que, después de la reinstalación, pueda restaurar algunos de los cambios que realizó.
Respuesta2
El setuid
bit en un archivo ejecutable significa que el archivo en cuestión puede cambiar su UID efectivo para ser el del usuario propietario en lugar del del usuario que llama/ejecuta.
Al ejecutar, sudo chwon -R pi:pi /
hizo sudo
que fuera propiedad del usuario pi
(UID distinto de cero) y, por lo tanto, cuando sudo
verifica si puede cambiar su UID efectivo a 0 ( root
), ve que no puede, porque root
ya no es propiedad de.
Puede intentar repararlo ejecutando chown root:root
sobre sudo
, pero podría indicar que no tiene permiso suficiente para hacerlo, por lo que reinstalar podría ser la única posibilidad.
Respuesta3
El método más sencillo es buscar y guardar todos los archivos que se han modificado en "las últimas semanas", luego reinstalar y volver a aplicar los cambios.
- Inicie un disco de rescate.
- Busque y guarde archivos modificados "recientemente":
cd /mnt/root && tar czvf /mnt/usb/tarball.tgz --newer-mtime='2015-10-01 00:00:00' .
asegúrese de que/mnt/root
sea la raíz de su sistema Pi y no la raíz del disco de rescate, y que/mnt/usb
esté en un lugar seguro, como una memoria USB. - Reinstalar
- Restaura los archivos que guardaste cuidadosamente -
cd / && tar xzvf /root/tarball.tgz
- Reiniciar