systemd 256 ya fue liberado y llega con run0
Después de 6 meses de desarrollo, se dio a conocer el lanzamiento de la nueva versión de «systemd 256», la cual presenta una gran cantidad de cambios significativos que incluyen la introducción de varias herramientas y conceptos nuevos.
Entre las novedades que se destaca la nueva versión podremos encontrar la tan esperada introduccion de run0, una herramienta que tiene como finalidad reemplazar al comando SUDO y se integra con systemd-run para ofrecer un método más seguro de ejecutar procesos con los identificadores de otros usuarios. En lugar de utilizar SUID, run0 crea un nuevo pseudoterminal y ejecuta el proceso privilegiado en un contexto aislado generado por el proceso PID 1, no heredando las propiedades del entorno del usuario. Polkit se utiliza para autorizar y determinar las capacidades del usuario.
Otro de los cambios que presenta systemd 256 es la nueva configuración «ProtectSystem», que se ha añadido al administrador del sistema, permitiendo controlar el montaje de partes del sistema de archivos en modo de solo lectura a nivel de todo el sistema, y no solo para unidades individuales. Por defecto, esta opción está habilitada para initrd
para prevenir escrituras en el directorio /usr
durante el arranque.
Para las unidades, se han introducido nuevas configuraciones: WantsMountsFor=
, que define el montaje de particiones como una dependencia opcional, y MemoryZSwapWriteback=
, que controla el parámetro Memory.zswap.write
introducido en el kernel de Linux 6.8. Las unidades .mount
y .swap
ahora permiten el uso de identificadores de estilo fstab.
Además de ello, el directorio /dev
ahora permite la creación de enlaces simbólicos que combinan información de ruta y etiqueta. Esto permite asignar particiones idénticas en diferentes dispositivos de almacenamiento, como después de clonar el contenido de un disco a otro dispositivo.
systemd-networkd
también implementa las configuraciones IPv6RetransmissionTimeSec
y UseRetransmissionTime
para controlar el tiempo de retransmisión de mensajes NS usados para determinar los hosts IPv6 vecinos. Se añadió soporte para obtener claves para VPN Wireguard desde la base de datos de credenciales. El parámetro ReceiverPacketSteeringCPUMask
se ha agregado a los archivos de enlace para organizar el enlace de los controladores de paquetes entrantes a CPU específicas.
De los demás cambios que se destacan de esta nueva versión:
- La configuración MaxConnectionsPerSource= se ha añadido a las unidades .socket con la opción Accept=yes, permitiendo establecer un límite en la cantidad de conexiones simultáneas desde una dirección IP o UID (para sockets UNIX).
- El proceso systemd-bsod, que implementa el equivalente de la «pantalla azul de la muerte», ahora incluye la opción –tty para seleccionar el terminal donde se mostrará una notificación en pantalla completa en caso de errores críticos (LOG_EMERG).
- Además del directorio
/etc
, varios componentes de systemd ahora buscan cargar el archivo de configuración principal desde los directorios/usr/lib
,/usr/local/lib
y/run
. - Se añadió la utilidad «importctl» para cargar, importar y exportar imágenes de disco utilizando el servicio systemd-importd.
- Se ha incorporado la capacidad de compilar systemd desde el código fuente, deshabilitando todas las funciones heredadas en OpenSSL 3.0.
- Se ha implementado el protocolo vpick, permitiendo el acceso versionado a recursos como imágenes de disco desde directorios específicos.
- Los usuarios sin privilegios ahora pueden acceder a credenciales de servicio cifradas. Para facilitar esto, se han añadido las opciones –user y –uid a la utilidad systemd-creds, permitiendo cifrar y descifrar credenciales para usuarios específicos.
- Se ha añadido el servicio systemd-udev-load-credentials.service para cargar reglas udev desde la base de datos de credenciales.
- Se han agregado funcionalidades como el soporte para claves obtenidas a través de userdbctl, un generador de unidades para la activación de sshd en relación a sockets específicos, y una utilidad «systemd-ssh-proxy» para conectarse a través de sockets AF_VSOCK y AF_UNIX.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.
En cuanto a la disponibilidad de la nueva versión de systemd 256 para tu distribucion, al momento de la redacción del artículo, aún no se ha puesto a disposición en los repositorios de las principales distribuciones de Linux. Solo es cuestión de esperar algunas horas para que se comience a desplegar la nueva versión.