Uscita della gestione di sistema systemd 248

Dopo quattro mesi di sviluppo, è stata presentata la release del gestore di sistema systemd 248. In questo nuovo rilascio è fornito il supporto per le immagini per l'estensione delle directory di sistema, il file di configurazione /etc/veritytab, l'utility systemd-cryptenroll, lo sblocco di LUKS2 tramite chip TPM2 e token FIDO2, l'esecuzione di unità in spazi isolati di identificatori IPC, il protocollo B.A.T.M.A.N. per reti mesh, e il backend nftables per systemd-nspawn. Stabilizzato systemd-oomd.

Principali modifiche:

  • È stata realizzata la concezione delle immagini di estensione del sistema (System Extension), che possono essere utilizzate per estendere la gerarchia delle directory /usr/ e /opt/, e aggiungere file aggiuntivi durante l'esecuzione, anche se le directory indicate sono montate in modalità sola lettura. Quando l'immagine di estensione del sistema viene montata, il suo contenuto si sovrappone alla gerarchia di /usr/ e /opt/ attraverso OverlayFS.

    Per la connessione, disconnessione, visualizzazione e aggiornamento delle immagini delle estensioni di sistema è stata proposta una nuova utility, systemd-sysext. È stato aggiunto un servizio systemd-sysext.service per il montaggio automatico delle immagini già installate durante l'avvio. Nel file os-release è stato aggiunto il parametro "SYSEXT_LEVEL=" per determinare il livello delle estensioni supportate dal sistema.

  • Per le unità è stata implementata la configurazione ExtensionImages, che può essere utilizzata per collegare le immagini delle estensioni di sistema alla gerarchia del namespace FS di singoli servizi isolati.
  • È stato aggiunto un file di configurazione /etc/veritytab per configurare la verifica dei dati a livello di blocco utilizzando il modulo dm-verity. Il formato del file è simile a /etc/crypttab — "nome_partizione dispositivo_per_dati dispositivo_per_hash hash_verifica_radice opzioni". È stato aggiunto un parametro della riga di comando del kernel systemd.verity.root_options per configurare il comportamento di dm-verity per il dispositivo radice.
  • In systemd-cryptsetup, the ability to extract the PKCS#11 token URI and the encrypted key from the LUKS2 metadata header in JSON format has been added, allowing integration of unlock information directly into the encrypted device without relying on external files.
  • systemd-cryptsetup now supports unlocking LUKS2 encrypted partitions using TPM2 chips and FIDO2 tokens, in addition to the previously supported PKCS#11 tokens. Loading libfido2 is done via dlopen(), meaning presence is checked on the fly rather than as a hard dependency.
  • New options ‘no-write-workqueue’ and ‘no-read-workqueue’ have been added to /etc/crypttab for systemd-cryptsetup, enabling synchronous processing of input/output related to encryption and decryption.
  • The systemd-repart utility now has the capability to activate encrypted partitions using TPM2 chips, for example, to create an encrypted /var partition on the first boot.
  • The systemd-cryptenroll utility has been added to bind TPM2, FIDO2, and PKCS#11 tokens to LUKS partitions, as well as to unbind and view tokens, bind spare keys, and set a password for access.
  • È stato aggiunto il parametro PrivateIPC, che consente di configurare l'avvio di processi in uno spazio IPC isolato con i propri identificatori e coda di messaggi nel file unit. Per collegare l'unità a uno spazio identificatore IPC già esistente, è disponibile l'opzione IPCNamespacePath.
  • Sono state aggiunte le impostazioni ExecPaths e NoExecPaths, che permettono di applicare il flag noexec a specifiche parti del file system.
  • In systemd-networkd è stata aggiunta la supporto per il protocollo mesh B.A.T.M.A.N. ("Better Approach To Mobile Adhoc Networking"), che consente di creare reti decentralizzate, in cui ogni nodo è collegato attraverso nodi vicini. Per la configurazione, è proposta la sezione [BatmanAdvanced] nel file .netdev, il parametro BatmanAdvanced nei file .network e un nuovo tipo di dispositivo "batadv".
  • È stata stabilizzata l'attuazione del meccanismo di risposta rapida alla carenza di memoria nel sistema systemd-oomd. È stata aggiunta l'opzione DefaultMemoryPressureDurationSec per configurare il tempo di attesa per il rilascio delle risorse prima di influenzare l'unità. Systemd-oomd utilizza la sottosistema del kernel PSI (Pressure Stall Information) e consente di identificare l'inizio delle indugi causati dalla mancanza di risorse e di terminare selettivamente i processi ad alta intensità di risorse in una fase in cui il sistema non è ancora in uno stato critico e non inizia a ridurre intensamente la cache e a spostare i dati nello swap.
  • È stato aggiunto un parametro della riga di comando del kernel - «root=tmpfs», che consente di montare la partizione root in uno spazio temporaneo situato nella memoria RAM utilizzando Tmpfs.
  • Il parametro in /etc/crypttab che definisce il file con la chiave può ora puntare a socket di tipo AF_UNIX e SOCK_STREAM. La chiave in questo caso deve essere fornita durante la connessione al socket, che può essere usato, ad esempio, per creare servizi che forniscono dinamicamente le chiavi.
  • Il nome host di riserva (fallback) per l'uso con il gestore di sistema e systemd-hostnamed può ora essere impostato in due modi: attraverso il parametro DEFAULT_HOSTNAME in os-release e tramite la variabile d'ambiente $SYSTEMD_DEFAULT_HOSTNAME. In systemd-hostnamed è stata anche implementata la gestione della specifica 'localhost' nel nome host e la possibilità di esportare il nome host, insieme alle proprietà 'HardwareVendor' e 'HardwareModel' tramite DBus.
  • Il blocco delle variabili d'ambiente ora può essere configurato tramite la nuova opzione ManagerEnvironment in system.conf o user.conf, e non solo tramite la riga di comando del kernel e le impostazioni dei file unit.
  • Nella fase di compilazione è stata fornita la possibilità di utilizzare la chiamata di sistema fexecve() al posto di execve() per ridurre il ritardo tra il controllo del contesto di sicurezza e la sua applicazione.
  • Per i file unit sono state aggiunte nuove operazioni condizionali ConditionSecurity=tpm2 e ConditionCPUFeature per verificare la presenza di dispositivi TPM2 e specifiche funzionalità della CPU (ad esempio, ConditionCPUFeature=rdrand può essere utilizzato per verificare se la CPU supporta l'operazione RDRAND).
  • Per i kernel disponibili è stata implementata la generazione automatica delle tabelle delle chiamate di sistema per i filtri seccomp.
  • È stata aggiunta la possibilità di sostituire nuove associazioni di montaggio (bind mounts) negli spazi esistenti dei punti di montaggio (mount namespace) dei servizi, senza dover riavviare i servizi. La sostituzione avviene tramite i comandi ‘systemctl bind <unit> <path>…’ e ‘systemctl mount-image <unit> <image>…’.
  • Nelle impostazioni StandardOutput e StandardError è stata aggiunta la supporto per specificare percorsi nella forma «truncate:<path>» per svuotare prima dell'uso.
  • In sd-bus è stata aggiunta la possibilità di stabilire una connessione con la sessione di un utente specificato all'interno di un contenitore locale. Ad esempio «systemctl —user -M lennart@ start quux».
  • Nei file systemd.link, nella sezione [Link], sono stati implementati i seguenti parametri:
    • Promiscuous — consente di mettere il dispositivo in modalità «promiscuous» per elaborare tutti i pacchetti di rete, compresi quelli non indirizzati al sistema attuale;
    • TransmitQueues e ReceiveQueues per configurare il numero di code TX e RX;
    • TransmitQueueLength per configurare la dimensione della coda TX; GenericSegmentOffloadMaxBytes e GenericSegmentOffloadMaxSegment per impostare i limiti dell'applicazione della tecnologia GRO (Generic Receive Offload).
  • Nei file systemd.network sono state aggiunte nuove impostazioni:
    • [Network] RouteTable per selezionare la tabella di routing;
    • [RoutingPolicyRule] Type per il tipo di routing («blackhole», «unreachable», «prohibit»);
    • [IPv6AcceptRA] RouteDenyList e RouteAllowList per elenchi di annunci di route consentiti e vietati;
    • [DHCPv6] UseAddres per ignorare l'indirizzo DHCP fornito;
    • [DHCPv6PrefixDelegation] ManageTemporaryAddress;
    • ActivationPolicy per definire la politica riguardo all'attività dell'interfaccia (mantenere sempre attivo o inattivo o consentire all'utente di modificare gli stati con il comando «ip link set dev»).
  • Sono state aggiunte ai file systemd.netdev le opzioni [VLAN] Protocol, IngressQOSMaps, EgressQOSMaps e [MACVLAN] BroadcastMulticastQueueLength per la configurazione della gestione dei pacchetti VLAN.
  • È stata interrotta il montaggio della directory /dev/ in modalità noexec, poiché ciò causa conflitti nell'uso del flag eseguibile con i file /dev/sgx. Per ripristinare il comportamento precedente, è possibile utilizzare l'impostazione NoExecPaths=/dev.
  • I diritti di accesso al file /dev/vsock sono stati modificati in 0o666, e i file /dev/vhost-vsock e /dev/vhost-net sono stati spostati nel gruppo. kvm.
  • La base degli identificatori hardware è stata ampliata agli dispositivi USB per la lettura delle impronte digitali, supportando correttamente il passaggio alla modalità sospensione.
  • systemd-resolved ha aggiunto il supporto per la restituzione delle risposte alle richieste DNSSEC attraverso lo stub resolver. I client locali possono eseguire la validazione DNSSEC per conto proprio, mentre le richieste esterne vengono inoltrate in forma invariata al server DNS parentale.
  • Nel file resolved.conf è stata aggiunta l'opzione CacheFromLocalhost, che, se attivata, consente a systemd-resolved di utilizzare la cache anche per le richieste al server DNS all'indirizzo 127.0.0.1 (di default, la memorizzazione nella cache di tali richieste è disabilitata per escludere la doppia memorizzazione).
  • In systemd-resolved è stato aggiunto il supporto per l'NSID RFC-5001 nel resolver DNS locale, che consente ai client di differenziare l'interazione con il resolver locale e un altro. server DNS.
  • Nell'utilità resolvectl è stata implementata la possibilità di visualizzare informazioni sulla provenienza dei dati (cache locale, richiesta di rete, risposta del gestore locale) e sull'applicazione della crittografia durante la trasmissione dei dati. Per gestire il processo di risoluzione dei nomi sono state proposte le opzioni —cache, —synthesize, —network, —zone, —trust-anchor e —validate.
  • In systemd-nspawn, support for firewall configuration using nftables has been added alongside the existing support for iptables. The IPMasquerade setting in systemd-networkd now allows for the use of a backend based on nftables.
  • In systemd-localed, support for calling locale-gen to generate missing locales has been added.
  • Various utilities have been enhanced with options —pager/—no-pager/—json= to enable/disable paginated viewing mode and output in JSON format. There is now the ability to set the number of colors used in the terminal via the environment variable SYSTEMD_COLORS ('16' or '256').
  • The builds with separate directory hierarchies (splitting / and /usr) and support for cgroup v1 have been deprecated.
  • The main branch in Git has been renamed from 'master' to 'main'.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster