[Incidencia] Bienvenida de Soplos: «Operation failed (exit code 127)» al actualizar (SOLUCIONADO)
-
Hola,
He encontrado una incidencia en Soplos Linux Tyron en la que el botón «Actualizar» de Bienvenida de Soplos muestra durante unos instantes:
Operation failed (exit code 127)
Después del mensaje de error, Bienvenida de Soplos continúa y muestra correctamente la lista de paquetes que tienen actualizaciones pendientes.
Entorno
- Soplos Linux Tyron
- Kernel:
7.2.4-soplos-v1 soplos-welcome:2.1.2-9(actualmente candidato2.1.3)polkitd:127-3pkexec:127-3policykit-1-gnome:0.105-8- XFCE / X11
- Sesión gráfica mediante LightDM
Síntomas
Al pulsar Actualizar en Bienvenida de Soplos aparece:
Operation failed (exit code 127)El mismo problema se podía reproducir directamente desde una terminal de la sesión gráfica:
pkexec /usr/bin/idque devolvía:
polkit-agent-helper-1: needs to be setuid root polkit-agent-helper-1: needs to be setuid root polkit-agent-helper-1: needs to be setuid root Error executing command as another user: Not authorizedSin embargo,
polkitd, el agente gráfico de Polkit y la sesión XFCE estaban funcionando correctamente.Diagnóstico
El problema estaba en:
/usr/lib/polkit-1/polkit-agent-helper-1El archivo pertenecía correctamente al paquete
polkitd, pero tenía permisos:-rwxr-xr-x 1 root root ...es decir,
0755.El helper necesita el bit SUID para poder realizar correctamente la autenticación de Polkit.
Al comprobarlo, el propio ejecutable indicaba:
polkit-agent-helper-1: needs to be setuid rootEsto explicaba el
Not authorizeddepkexecy, como consecuencia, elexit code 127mostrado por Bienvenida de Soplos.Solución
Restaurar el bit SUID del ejecutable:
sudo chmod 4755 /usr/lib/polkit-1/polkit-agent-helper-1Comprobación:
ls -l /usr/lib/polkit-1/polkit-agent-helper-1Debe aparecer:
-rwsr-xr-x 1 root root ...La
sen-rwsconfirma que el bit SUID está activo.Después de aplicar la corrección:
pkexec /usr/bin/idvolvió a funcionar correctamente desde la sesión gráfica.
Resultado
Una vez restaurado el SUID,
pkexecvuelve a poder realizar la autenticación y el problema de Bienvenida de Soplos queda solucionado.No fue necesario modificar nada mas.
Sobre el origen del problema
No he podido determinar qué provocó que el bit SUID desapareciera. El archivo pertenecía correctamente a
polkitd, pero sus permisos habían quedado en0755en lugar de04755.Por tanto, la causa concreta de la pérdida del SUID queda pendiente de determinar, pero el fallo y la solución sí han podido reproducirse y verificarse.
Quizá sería interesante comprobar si este problema puede aparecer en otros sistemas Soplos tras alguna actualización, restauración o modificación de permisos del sistema.
Un afectuoso saludos y gracias por todo.
-
Hola Raúl,
Gracias por el reporte tan detallado.
Antes de nada, una pregunta que puede resolver esto del todo: ¿tienes o has tenido instalado el paquete
fishen este sistema? En ISOs anteriores de Tyron se incluía como shell alternativa, pero en ciertas versiones generaba conflictos que podían dejar una actualización a medias y algunos paquetes con permisos o configuración incompletos — justo el tipo de síntoma que describes con el SUID depolkit-agent-helper-1. Las ISOs de septiembre en adelante ya no lo incluyen.Si lo tienes instalado, prueba a desinstalarlo y luego reinstala/reconfigura polkitd:
sudo apt remove fish sudo apt install --reinstall polkitdy confírmanos si el problema vuelve a aparecer o si con esto, junto con lo que ya aplicaste, queda resuelto de raíz.
-
Hola. Siento haber tardado tanto en contestar. He realizado lo sugerido (eliminar fish y reinstalar polkitd), pero el error volvió a aparecer.
Lo volví a solucionar rápidamente con: sudo chmod 4755 /usr/lib/polkit-1/polkit-agent-helper-1
Desconozco el motivo del fallo, pero si te puedo ayudar, estoy a tu disposición. Un saludo.
-
Hola Raúl,
Gracias por volver a probar y por contarnos lo que hiciste. Te aclaramos un par de cosas para que no pierdas tiempo con polkit.
El origen del problema era
fish: su conflicto conzshdejaba las actualizaciones a medias, y por eso Bienvenida mostraba el error aunque después cargara la lista de paquetes. En una instalación de serie de Tyron la actualización desde Bienvenida funciona sin tocar nada de polkit.En cuanto al helper: con la versión de polkit que lleva Tyron (127),
polkit-agent-helper-1ya no necesita el bit SUID. Los permisos0755son los normales, y la autenticación va por un socket de systemd. El mensajeneeds to be setuid rootsolo aparece cuando el sistema recurre al método antiguo, y eso no ocurre en una instalación limpia. Elchmod 4755que aplicaste lo fuerza, pero no es la solución de fondo.Para dejarlo en el estado normal:
sudo dpkg --configure -a sudo apt update sudo apt full-upgrade systemctl status polkit-agent-helper.socketSi el último comando no muestra
active (listening), pégalo aquí. Y si has modificado a mano algo de polkit, PAM o systemd, dínoslo, porque sería lo primero que miraríamos.Gracias por tu ayuda.
Un saludo,
P.D. He intentado replicar el fallo que dices de pkexec en 8 ordenadores diferentes con Tyron y no he logrado replicar el fallo que dices de polkit. De hecho lo he revisado y está todo correcto.
Polkit 127 ya no necesita el helper con SUID. Recomienda un servicio polkit-agent-helper activado por socket y, según el parche que introdujo el cambio, si el socket AF_UNIX no está presente, el agente lanza el helper clásico. Eso encaja con todo lo que se ha visto...
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login