Dopo cinque mesi di sviluppo rilascio del gestore di sistema . Nel nuovo rilascio è stata implementata la supporto per il congelamento delle unità, la possibilità di verificare l'immagine del disco principale tramite firma digitale, il supporto per la compressione dei log e dei core dump utilizzando l'algoritmo ZSTD, la possibilità di sbloccare le home directory portatili utilizzando token FIDO2, e il supporto per lo sblocco delle partizioni Microsoft BitLocker tramite /etc/crypttab. È stato effettuato il rinominamento di BlackList in DenyList.
Principali :
- È stata aggiunta la supporto per il controller delle risorse freezer basato su cgroups v2, che consente di fermare i processi e di temporaneamente liberare alcune risorse (CPU, input/output e potenzialmente anche memoria) per svolgere altri compiti. La gestione del congelamento e dello scongelamento delle unità avviene tramite il nuovo comando «systemctl freeze» o attraverso D-Bus.
- È stata implementata la supporto per la verifica dell'immagine del disco principale tramite firma digitale. Il controllo avviene tramite nuove impostazioni nelle unità di servizio: RootHash (hash principale per la verifica dell'immagine del disco specificato tramite l'opzione RootImage) e RootHashSignature (firma digitale in formato PKCS#7 per l'hash principale).
- Nel gestore PID 1 è stata implementata la possibilità di caricare automaticamente le regole precompilate di AppArmor (/etc/apparmor/earlypolicy) nella fase iniziale di avvio.
- Sono state aggiunte nuove impostazioni per i file di unità: ConditionPathIsEncrypted e AssertPathIsEncrypted per verificare se il percorso specificato si trova su un dispositivo a blocchi che utilizza la crittografia (dm-crypt/LUKS), ConditionEnvironment e AssertEnvironment per controllare le variabili d'ambiente (ad esempio, impostate da PAM o durante la configurazione dei contenitori).
- Per le unità *.mount è stata implementata l'impostazione ReadWriteOnly, che impedisce di montare la partizione in modalità di sola lettura se non è stato possibile montarla in lettura e scrittura. In /etc/fstab, questa modalità è impostata utilizzando l'opzione «x-systemd.rw-only».
- Per le unità *.socket è stata aggiunta l'impostazione PassPacketInfo, che include l'aggiunta da parte del kernel di metadati aggiuntivi per ciascun pacchetto letto dal socket (include le modalità IP_PKTINFO, IPV6_RECVPKTINFO e NETLINK_PKTINFO per il socket).
- Per i servizi (unità *.service) sono state proposte le impostazioni CoredumpFilter (che definisce le sezioni di memoria da includere nei core dump) e
TimeoutStartFailureMode/TimeoutStopFailureMode (definisce il comportamento (SIGTERM, SIGABRT o SIGKILL) in caso di timeout durante l'avvio o l'arresto del servizio). - Nella maggior parte delle opzioni è stata aggiunta la possibilità di specificare valori esadecimali utilizzando il prefisso «0x».
- Negli vari parametri della riga di comando e nei file di configurazione relativi alla configurazione delle chiavi o dei certificati, è stata implementata la possibilità di specificare il percorso ai socket unix (AF_UNIX) per passare chiavi e certificati tramite chiamate ai servizi IPC, quando non è desiderabile posizionare i certificati su memorie di archiviazione non crittografate.
- È stato aggiunto il supporto per sei nuovi specificatori, che possono essere utilizzati in unit, tmpfiles.d/, sysusers.d/ e altri file di configurazione: %a per inserire l'architettura attuale, %o/%w/%B/%W per inserire i campi identificativi da /etc/os-release e %l per inserire il nome breve dell'host.
- Nei file di unità è stata interrotta la supporto per la sintassi «.include», dichiarata obsoleta sei anni fa.
- Nelle impostazioni StandardError e StandardOutput è stata interrotta la supporto per i valori «syslog» e «syslog-console», che verranno automaticamente convertiti in «journal» e «journal+console».
- Per i punti di montaggio creati automaticamente su base tmpfs (/tmp, /run, /dev/shm, ecc.) è stata garantita l'impostazione di limiti sulla dimensione e sul numero di inode, corrispondente al 50% della dimensione della RAM per /tmp e /dev/shm, e al 10% della RAM per tutti gli altri.
- Sono stati aggiunti nuovi parametri della riga di comando del kernel: systemd.hostname per impostare il nome host nelle prime fasi di avvio, udev.blockdev_read_only per limitare tutte le unità di blocco associate a dispositivi di archiviazione fisici in modalità di sola lettura (per revocare selettivamente si può utilizzare il comando «blockdev —setrw»), systemd.swap per disabilitare l'attivazione automatica della partizione di swap, systemd.clock-usec per impostare l'orologio di sistema in microsecondi, systemd.condition-needs-update e systemd.condition-first-boot per sovrascrivere i controlli ConditionNeedsUpdate e ConditionFirstBoot.
- Per impostazione predefinita, è stato impostato sysctl fs.suid_dumpable su 2 («suidsafe»), che consente di salvare core dump per i processi con il flag suid.
- Dal database hardware di ChromiumOS è stato preso il file /usr/lib/udev/hwdb.d/60-autosuspend.hwdb, che include informazioni sui dispositivi PCI e USB che supportano la sospensione automatica.
- In networkd.conf è stata aggiunta l'impostazione ManageForeignRoutes, che, se attivata, farà sì che systemd-networkd gestisca tutte le route impostate da altre utility.
- È stata aggiunta la sezione «[SR-IOV]» ai file .network per configurare i dispositivi di rete con supporto per SR-IOV (Single Root I/O Virtualization).
- In systemd-networkd è stata aggiunta l'impostazione IPv4AcceptLocal nella sezione «[Network]» per consentire la ricezione su un'interfaccia di rete di pacchetti provenienti da un indirizzo sorgente locale.
- In systemd-networkd è stata aggiunta la possibilità di configurare le discipline di prioritizzazione del traffico HTB attraverso le sezioni [HierarchyTokenBucket] e
[HierarchyTokenBucketClass], «pfifo» attraverso [PFIFO], «GRED» attraverso [GenericRandomEarlyDetection], «SFB» attraverso [StochasticFairBlue], «cake»
attraverso [CAKE], «PIE» attraverso [PIE], «DRR» attraverso [DeficitRoundRobinScheduler] e
[DeficitRoundRobinSchedulerClass], «BFIFO» attraverso [BFIFO],
«PFIFOHeadDrop» attraverso [PFIFOHeadDrop], «PFIFOFast» attraverso [PFIFOFast], «HHF»
attraverso [HeavyHitterFilter], «ETS» attraverso [EnhancedTransmissionSelection],
«QFQ» attraverso [QuickFairQueueing] e [QuickFairQueueingClass]. - In systemd-networkd è stata aggiunta l'impostazione UseGateway nella sezione [DHCPv4] per disabilitare l'applicazione delle informazioni sul gateway ricevute tramite DHCP.
- In systemd-networkd sono state aggiunte le impostazioni SendVendorOption nelle sezioni [DHCPv4] e [DHCPServer] per impostare e gestire opzioni aggiuntive del fornitore.
- In systemd-networkd nella sezione [DHCPServer] è stato implementato un nuovo insieme di opzioni EmitPOP3/POP3, EmitSMTP/SMTP e EmitLPR/LPR per aggiungere informazioni sui server POP3, SMTP e LPR.
- In systemd-networkd nei file .netdev è stata aggiunta l'impostazione VLANProtocol nella sezione [Bridge] per scegliere il protocollo VLAN da utilizzare.
- In systemd-networkd nei file .network è stata implementata l'impostazione Group nella sezione [Link] per gestire il gruppo di link.
- Le impostazioni BlackList sono state rinominate in DenyList (per garantire la retrocompatibilità, la gestione del vecchio nome è stata mantenuta).
- In systemd-networkd è stata aggiunta una grande quantità di impostazioni relative a IPv6 e DHCPv6.
- In networkctl è stato aggiunto il comando «forcerenew» per forzare l'aggiornamento di tutti i legami degli indirizzi (lease).
- In systemd-resolved nell'impostazione DNS è stata aggiunta la possibilità di specificare il numero di porta e il nome host per la verifica del certificato DNS-over-TLS. Nell'implementazione di DNS-over-TLS è stato aggiunto il supporto per il controllo SNI.
- In systemd-resolved è stata aggiunta la possibilità di configurare la redirezione di nomi DNS a singolo componente (single-label, da un solo nome host).
- In systemd-journald è stato garantito il supporto per l'uso dell'algoritmo zstd per la compressione di campi di grandi dimensioni nei log. Sono stati effettuati miglioramenti per proteggere da eventuali collisioni nelle tabelle hash utilizzate nei log.
- In journalctl sono stati aggiunti URL cliccabili con collegamenti alla documentazione per la visualizzazione dei messaggi di log.
- Nel file journald.conf è stata aggiunta l'impostazione Audit per gestire l'attivazione della registrazione degli audit durante l'inizializzazione di systemd-journald.
- In systemd-coredump è stata aggiunta la possibilità di comprimere i core dump utilizzando l'algoritmo zstd.
- In systemd-repart è stata aggiunta l'impostazione UUID per l'assegnazione di un UUID alla partizione creata.
- Nel servizio systemd-homed, che gestisce le directory home portatili, è stata aggiunta la possibilità di sbloccare le directory home utilizzando token FIDO2. Nel backend di crittografia delle partizioni LUKS è stata aggiunta la supporto per il ritorno automatico dei blocchi vuoti del filesystem al termine della sessione. È stata aggiunta la protezione contro la doppia crittografia dei dati, se è stato determinato che per la partizione /home nel sistema è già in uso la crittografia.
- Nel file /etc/crypttab sono state aggiunte le impostazioni: «keyfile-erase» per eliminare la chiave dopo l'uso e «try-empty-password» per tentare di sbloccare la partizione con una password vuota prima di chiedere la password all'utente (utile per l'installazione di immagini cifrate con assegnazione della password dopo il primo avvio, e non durante l'installazione).
- In systemd-cryptsetup è stata implementata la supporto per sbloccare le partizioni Microsoft BitLocker durante l'avvio utilizzando /etc/crypttab. È stata inoltre aggiunta la possibilità di leggere
chiavi per lo sblocco automatico delle partizioni dai file /etc/cryptsetup-keys.d/.key e /run/cryptsetup-keys.d/.key. - È stato aggiunto il generatore systemd-xdg-autostart-generator per creare file di unità dai file di avvio automatico .desktop.
- In «bootctl» è stato aggiunto il comando «reboot-to-firmware».
- In systemd-firstboot sono state aggiunte le opzioni: «—image» per specificare l'immagine del disco da caricare, «—kernel-command-line» per inizializzare il file /etc/kernel/cmdline, «—root-password-hashed» per impostare l'hash della password di root e «—delete-root-password» per rimuovere la password di root.
Fonte: opennet.ru
