systemd 245 disponible con implementación de directorio personal portátil

Después de tres meses de desarrollo presentado lanzamiento del administrador del sistema systemd 245. En la nueva versión, se agregan nuevos componentes systemd-homed y systemd-repart, se incluye soporte para perfiles de usuario portátiles en formato JSON, se proporciona la capacidad de definir espacios de nombres en systemd-journald y se agrega soporte para el mecanismo "pidfd". . Completamente rediseñado sitio del proyecto, que recoge la mayor parte de la documentación disponible y propone un nuevo logotipo.

systemd 245 disponible con implementación de directorio personal portátil

El principal cambios:

  • Servicio agregado systemd-homed, que proporciona gestión de directorios personales portátiles, entregados en forma de un archivo de imagen montado, cuyos datos están cifrados. Systemd-homed le permite crear entornos autónomos para los datos del usuario que se pueden transferir entre diferentes sistemas sin preocuparse por la sincronización y la confidencialidad del identificador. Las credenciales de usuario están vinculadas al directorio de inicio en lugar de a la configuración del sistema; se utiliza un perfil en el formato en lugar de /etc/passwd, /etc/group y /etc/shadow. JSON. Para más detalles, ver último anuncio systemd-homed.
  • Se agregó el componente complementario systemd-homed "base de usuario” (“systemd-userdb”), que traduce cuentas UNIX/glibc NSS en registros JSON y proporciona una API Varlink unificada para consultar e iterar sobre registros. El perfil JSON asociado con el directorio de inicio especifica los parámetros necesarios para el trabajo del usuario, incluido el nombre de usuario, el hash de contraseña, las claves de cifrado, las cuotas y los recursos aprovisionados. El perfil se puede certificar con una firma digital almacenada en un token externo de Yubikey. Para gestionar perfiles se propone la utilidad “userdbctl”. Se ha agregado soporte para perfiles JSON a varios componentes de systemd, incluidos systemd-logind y pam-systemd, lo que permite a los usuarios de directorios portátiles autenticarse, iniciar sesión, establecer variables de entorno, crear una sesión, establecer límites, etc. En el futuro, se espera que el marco sssd pueda generar perfiles JSON con configuraciones de usuario almacenadas en LDAP.
  • Se ha agregado una nueva utilidad "systemd-repart", diseñada para reparticionar tablas de particiones de disco en formato GPT. La estructura de la partición se define en forma declarativa a través de archivos que describen qué particiones deberían o pueden existir. En cada arranque, la tabla de particiones real se compara con estos archivos, después de lo cual se agregan las particiones que faltan o, si el tamaño relativo o absoluto definido en la configuración no coincide, se aumenta el tamaño de las existentes. Sólo se permiten cambios incrementales, es decir. No es posible eliminar y reducir el tamaño, las particiones solo se pueden agregar y ampliar.
    La utilidad está diseñada para iniciarse desde initrd y detecta automáticamente el disco en el que se encuentra la partición raíz, lo que no requiere configuración adicional, excepto para archivos con la definición de cambios.

    En la práctica, systemd-repart puede ser útil para imágenes del sistema operativo que inicialmente pueden enviarse en una forma mínima y, después del primer arranque, pueden expandirse al tamaño del dispositivo de bloque existente o complementarse con particiones adicionales (por ejemplo, la partición raíz). La partición se puede expandir para cubrir todo el disco o después del primer arranque, crear una partición de intercambio o /home). Otro uso serían las configuraciones con dos particiones rotativas: inicialmente solo se podría proporcionar la primera partición y la segunda se crearía en el primer arranque.

  • Ahora es posible iniciar múltiples instancias de systemd-journald, cada una de las cuales mantiene registros en su propio espacio de nombres. Además del systemd-journald.service principal, el directorio .service ofrece una plantilla para crear instancias adicionales vinculadas a sus espacios de nombres utilizando la directiva "LogNamespace". Cada espacio de nombres de registro cuenta con un proceso en segundo plano independiente con su propio conjunto de configuraciones y límites. La característica propuesta puede resultar útil para equilibrar la carga con un gran volumen de registros o para mejorar el aislamiento de aplicaciones. Se agregó la opción "--namespace" a journalctl para limitar la consulta solo al espacio de nombres especificado.
  • Systemd-udevd y otros componentes de systemd han agregado soporte para un mecanismo para asignar nombres alternativos a interfaces de red, permitiendo usar múltiples nombres simultáneamente para una interfaz. El nombre puede tener hasta 128 caracteres (anteriormente, el nombre de la interfaz de red estaba limitado a 16 caracteres). De forma predeterminada, systemd-udevd ahora asigna a cada interfaz de red todos los nombres de variantes generados por los esquemas de nombres admitidos. Este comportamiento se puede cambiar a través de las nuevas configuraciones AlternativeName y AlternativeNamesPolicy en archivos .link. systemd-nspawn implementa la generación de nombres alternativos con el nombre completo del contenedor para los cinco enlaces creados en el lado del host.
  • La API sd-event.h agrega soporte para el subsistema del kernel de Linux "pidfd" para manejar la situación de reutilización de PID (pidfd está asociado con un proceso específico y no cambia, mientras que un PID se puede asociar con otro proceso después del proceso actual asociado con él sale de este PID). Todos los componentes de systemd excepto PID 1 se han convertido para usar pidfds si el subsistema es compatible con el kernel actual.
  • systemd-logind proporciona comprobaciones de acceso para la operación de cambio de terminal virtual a través de PolicyKit. De forma predeterminada, los permisos para cambiar el terminal activo se otorgan únicamente a los usuarios que han iniciado una sesión en el terminal virtual local al menos una vez.
  • Para facilitar la creación de imágenes initrd con systemd, el controlador PID 1 ahora detecta si se está utilizando en initrd y en este caso carga automáticamente initrd.target en lugar de default.target. Con este enfoque, las imágenes initrd y principal del sistema pueden diferir sólo en la presencia del archivo /etc/initrd-release.
  • Se agregó un nuevo parámetro de línea de comando del kernel: "systemd.cpu_affinity", equivalente a la opción CPUAffinity en /etc/systemd/system.conf y que le permite configurar la máscara de afinidad de la CPU para PID 1 y otros procesos.
  • Se habilitó la recarga de la base de datos SELinux junto con el reinicio del PID 1 mediante comandos como "systemctl daemon-reload".
  • La configuración "systemd.show-status=error" se agregó al controlador PID 1; cuando se configura, solo se muestran en la consola mensajes de error y retrasos significativos durante la carga.
  • systemd-sysusers agregó soporte para crear usuarios con un nombre de grupo principal diferente al nombre de usuario.
  • systemd-growfs introduce soporte para la expansión de particiones XFS a través de la opción de montaje x-systemd.growfs en /etc/fstab, además de la expansión de particiones previamente admitida con Ext4 y Btrfs.
  • Se agregó la opción x-initrd.attach a /etc/crypttab para definir una partición cifrada ya desbloqueada en la etapa initrd.
  • systemd-cryptsetup ha agregado soporte (opción pkcs11-uri en /etc/crypttab) para desbloquear particiones cifradas usando tarjetas inteligentes PKCS#11, por ejemplo para adjuntar cifrado de partición a YubiKeys.
  • Se agregaron nuevas opciones de montaje "x-systemd.required-by" y "x-systemd.wanted-by" a /etc/fstab para configurar explícitamente unidades que definen las operaciones de montaje que se llamarán en lugar de local-fs.target y remoto. -fs .objetivo.
  • Se ha agregado una nueva opción de espacio aislado del servicio: ProtectClock, que limita la escritura en el reloj del sistema (el acceso está bloqueado en el nivel de /dev/rtc, llamadas al sistema y permisos CAP_SYS_TIME/CAP_WAKE_ALARM).
  • A la especificación Particiones detectables y systemd-gpt-auto-generator agregó detección de particiones
    /var y /var/tmp.

  • En “systemctl list-unit-files”, al mostrar una lista de unidades, ha aparecido una nueva columna que refleja el estado de habilitación ofrecido en los presets del fabricante para este tipo de unidades.
  • Se ha agregado una opción “—with-dependencies” a “systemctl”. Cuando se instalan, comandos como “systemctl status” y “systemctl cat” mostrarán no solo todas las unidades correspondientes, sino también las unidades de las que dependen.
  • En systemd-networkd, la configuración de qdisc ha agregado la capacidad de configurar los parámetros TBF (Token Bucket Filter), SFQ (Stochastic Fairness Queueing), CoDel (Controlled-Delay Active Queue Management) y FQ (Fair Queue).
  • systemd-networkd agregó soporte para dispositivos de red IFB (Bloque funcional intermedio).
  • Systemd-networkd implementa el parámetro MultiPathRoute en la sección [Ruta] para configurar rutas de múltiples rutas.
  • En systemd-networkd para el cliente DHCPv4, se agregó la opción SendDecline, cuando se especifica, después de recibir una respuesta DHCP con una dirección, se realiza una verificación de dirección duplicada y si se detecta un conflicto de dirección, se rechaza la dirección emitida. La opción RouteMTUBytes también se agregó al cliente DHCPv4, lo que le permite determinar el tamaño de MTU para las rutas generadas a partir de enlaces de direcciones IP (arrendamientos).
  • La configuración PrefixRoute en la sección [Dirección] de los archivos .network ha quedado obsoleta. Fue reemplazado por la configuración "AddPrefixRoute", que tiene el significado opuesto.
  • En los archivos .network, se agregó compatibilidad con el nuevo valor "_dhcp" a la configuración de la puerta de enlace en la sección "[Ruta]". Cuando se establece, se selecciona una ruta estática según la puerta de enlace configurada a través de DHCP.
  • Las configuraciones han aparecido en los archivos .network en la sección “[RoutingPolicyRule]”
    User y SuppressPrefixLength para especificar el enrutamiento de origen según los rangos de UID y el tamaño del prefijo.

  • En networkctl, el comando "estado" brinda la capacidad de mostrar registros en relación con cada interfaz de red.
  • systemd-networkd-wait-online agrega soporte para establecer el tiempo máximo de espera para que una interfaz entre en funcionamiento y para esperar a que una interfaz deje de funcionar.
  • Se dejó de procesar archivos .link y .network con una sección “[Coincidencia]” vacía o comentada.
  • En los archivos .link y .network, en la sección “[Match]”, se agregó una configuración de “Dirección MAC permanente” para verificar la dirección MAC permanente de los dispositivos en el caso de utilizar una MAC aleatoria generada.
  • Se cambió el nombre de la sección “[TrafficControlQueueingDiscipline]” en los archivos .network a “[NetworkEmulator]” y se eliminó el prefijo “NetworkEmulator” de los nombres de las configuraciones asociadas.
  • systemd-resolved para DNS-over-TLS agrega soporte para verificación SNI.

Fuente: opennet.ru

Añadir un comentario