Rilascio del gestore di sistema systemd 250

Dopo cinque mesi di sviluppo, è stato rilasciato il gestore di sistema systemd 250. In questa nuova versione è stata aggiunta la possibilità di memorizzare le credenziali in forma crittografata, è stata implementata la verifica delle partizioni GPT automaticamente riconosciute tramite firma digitale, è migliorata la comunicazione sui motivi dei ritardi all'avvio dei servizi, sono state aggiunte opzioni per limitare l'accesso del servizio a specifici file system e interfacce di rete, è stata garantita la supporto al controllo dell'integrità delle partizioni tramite il modulo dm-integrity, ed è stato aggiunto il supporto per l'autoaggiornamento di sd-boot.

Variazioni principali:

  • È stato aggiunto il supporto per credenziali crittografate e autenticate, il che può essere utile per la memorizzazione sicura di materiali riservati, come SSL- chiavi e password di accesso. La decrittazione delle credenziali avviene solo quando necessario e in relazione all'installazione locale o all'hardware. I dati vengono crittografati automaticamente utilizzando algoritmi di crittografia simmetrica, la chiave per i quali può essere archiviata nel file system, nel chip TPM2 o utilizzando uno schema combinato. All'avvio del servizio, le credenziali vengono decrittografate automaticamente e diventano disponibili per il servizio in forma normale. Per lavorare con le credenziali crittografate è stata aggiunta l'utilità 'systemd-creds', e per i servizi sono state proposte impostazioni LoadCredentialEncrypted e SetCredentialEncrypted.
  • In sd-stub, il file eseguibile per EFI, che consente al firmware EFI di caricare il kernel di Linux, è stata aggiunta la supporto per il caricamento del kernel utilizzando il protocollo LINUX_EFI_INITRD_MEDIA_GUID EFI. In sd-stub è stata anche aggiunta la possibilità di impacchettare credenziali e file sysext in un archivio cpio e di trasferire questo archivio al kernel insieme a initrd (i file aggiuntivi vengono posizionati nella directory /.extra/). Questa possibilità consente di utilizzare un ambiente initrd verificabile e immutabile, complementato da sysext e dati crittografati per l'autenticazione.
  • La specifica delle Partizioni Scopribili è stata sostanzialmente ampliata, fornendo strumenti per la definizione, il montaggio e l'attivazione di partizioni di sistema che utilizzano GPT (GUID Partition Tables). Rispetto alle versioni precedenti, nella specifica è stata implementata il supporto per la partizione principale e la partizione /usr per la maggior parte delle architetture, inclusi i sistemi che non utilizzano UEFI.

    Nel Discoverable Partitions è stata aggiunta anche la supporto per le partizioni la cui integrità è verificata dal modulo dm-verity utilizzando firme digitali PKCS#7, semplificando la creazione di immagini disco completamente autenticate. Il supporto per la verifica è integrato in varie utility che manipolano le immagini disco, inclusi systemd-nspawn, systemd-sysext, systemd-dissect, servizi con RootImage, systemd-tmpfiles e systemd-sysusers.

  • Per unità che vengono eseguite a lungo o fermate, oltre a mostrare un indicatore di avanzamento animato, è stata fornita la possibilità di mostrare informazioni sullo stato, che consentono di capire cosa sta succedendo con il servizio in quel momento e quale servizio il gestore di sistema sta aspettando di completare.
  • In /etc/systemd/system.conf e /etc/systemd/user.conf è stata aggiunta l'impostazione DefaultOOMScoreAdjust, che consente di regolare la soglia di attivazione di OOM-killer in caso di esaurimento della memoria, applicabile ai processi avviati da systemd per il sistema e gli utenti. Per impostazione predefinita, il peso dei servizi di sistema è superiore a quello degli utenti, quindi, in caso di mancanza di memoria, è più probabile che vengano terminati i servizi utente rispetto a quelli di sistema.
  • È stata aggiunta l'impostazione RestrictFileSystems, che consente di limitare l'accesso dei servizi a determinati tipi di file system. Per visualizzare i tipi di FS disponibili, è possibile utilizzare il comando «systemd-analyze filesystems». In modo analogo, è stata implementata l'opzione RestrictNetworkInterfaces, che consente di limitare l'accesso a determinate interfacce di rete. L'implementazione si basa su un modulo BPF LSM che limita l'accesso di un gruppo di processi agli oggetti del kernel.
  • È stato aggiunto un nuovo file di configurazione /etc/integritytab e l'utility systemd-integritysetup, che configurano il modulo dm-integrity per il controllo dell'integrità dei dati a livello di singoli settori, ad esempio per garantire che i dati crittografati rimangano invariati (Authenticated Encryption, garantisce che un blocco di dati non sia stato modificato tramite vie traverse). Il formato del file /etc/integritytab è simile a quello dei file /etc/crypttab e /etc/veritytab, fatta eccezione per il fatto che anziché dm-crypt e dm-verity viene utilizzato dm-integrity.
  • È stato aggiunto un nuovo file unit systemd-boot-update.service, che, se attivato e con il bootloader sd-boot installato, aggiornerà automaticamente la versione del bootloader sd-boot, mantenendo il codice sempre aggiornato. Ora sd-boot viene compilato, per impostazione predefinita, con il supporto per il meccanismo SBAT (UEFI Secure Boot Advanced Targeting), che risolve i problemi di revoca dei certificati per UEFI Secure Boot. Inoltre, sd-boot ha la possibilità di analizzare le impostazioni di avvio di Microsoft Windows per formare correttamente i nomi delle partizioni di avvio con Windows e mostrare la versione di Windows.

    In sd-boot è stata aggiunta la possibilità di definire uno schema di colori durante la fase di assemblaggio. Durante il processo di avvio è stata aggiunta la supporto per cambiare la risoluzione dello schermo premendo il tasto «r». È stato aggiunto un tasto di scelta rapida «f» per accedere all'interfaccia di configurazione del firmware. È stata introdotta la modalità di avvio automatico del sistema corrispondente all'elemento di menu scelto durante l'ultimo avvio. È stata aggiunta la possibilità di avviare automaticamente i driver EFI collocati nella directory /EFI/systemd/drivers/ nella partizione ESP (EFI System Partition).

  • È stato incluso un nuovo file unit factory-reset.target, gestito in systemd-logind in modo simile alle operazioni di reboot, poweroff, suspend e hibernate, e utilizzato per creare gestori per l'esecuzione del ripristino delle impostazioni di fabbrica.
  • Il processo systemd-resolved ora crea un socket di ascolto aggiuntivo all'indirizzo 127.0.0.54 oltre a 127.0.0.53. Le richieste in arrivo all'indirizzo 127.0.0.54 vengono sempre reindirizzate al server DNS principale e non elaborate localmente.
  • È stata fornita la possibilità di compilare systemd-importd e systemd-resolved con la libreria OpenSSL invece di libgcrypt.
  • È stato aggiunto il supporto iniziale per l'architettura LoongArch, utilizzata nei processori Loongson.
  • In systemd-gpt-auto-generator è stata implementata la possibilità di configurare automaticamente le partizioni di swap definite dal sistema, e criptate dal sottosistema LUKS2.
  • Nel codice di analisi delle immagini GPT, utilizzato in systemd-nspawn, systemd-dissect e utilità simili, è stata implementata la possibilità di decodificare immagini per altre architetture, permettendo l'utilizzo di systemd-nspawn per eseguire immagini in emulatori di altre architetture.
  • Durante l'ispezione delle immagini disco in systemd-dissect ora vengono visualizzate informazioni sulla destinazione della partizione, ad esempio, idoneità per l'avvio tramite UEFI o esecuzione in un contenitore.
  • Nel file system-extension.d/ è stato aggiunto il campo «SYSEXT_SCOPE», che consente di indicare l'ambito di applicazione dell'immagine di sistema — «initrd», «system» o «portable».
  • Nel file os-release è stato aggiunto il campo «PORTABLE_PREFIXES», che può essere utilizzato nelle immagini portatili per determinare i prefissi supportati dei file unit.
  • In systemd-logind sono state implementate nuove impostazioni HandlePowerKeyLongPress, HandleRebootKeyLongPress, HandleSuspendKeyLongPress e HandleHibernateKeyLongPress, che possono essere utilizzate per definire le azioni quando si tiene premuto un certo tasto per più di 5 secondi (ad esempio, un rapido tocco del tasto Suspend può essere configurato per passare alla modalità di sospensione, mentre una pressione prolungata — per entrare in ibernazione).
  • Per i unit sono state realizzate le impostazioni StartupAllowedCPUs e StartupAllowedMemoryNodes, che si differenziano dalle impostazioni simili senza il prefisso Startup perché si applicano solo durante la fase di avvio e spegnimento, consentendo così di impostare diverse limitazioni delle risorse all'avvio.
  • Sono stati aggiunti i controlli [Condition|Assert][Memory|CPU|IO]Pressure, che consentono di saltare o terminare con errore l'attivazione del unit in caso di rilevamento di un alto carico su memoria, CPU e input/output nel sistema tramite il meccanismo PSI.
  • Il limite massimo predefinito sul numero di inode è stato aumentato per la partizione /dev da 64k a 1M, e per /tmp da 400k a 1M.
  • Per i servizi è stata proposta l'impostazione ExecSearchPath, che consente di modificare il percorso di ricerca dei file eseguibili avviati tramite impostazioni simili a ExecStart.
  • È stata aggiunta l'impostazione RuntimeRandomizedExtraSec, che consente di aggiungere deviazioni casuali al timeout RuntimeMaxSec, limitando il tempo di esecuzione del unit.
  • La sintassi delle impostazioni RuntimeDirectory, StateDirectory, CacheDirectory e LogsDirectory è stata ampliata, in cui specificando un valore aggiuntivo separato da due punti, ora è possibile organizzare la creazione di un collegamento simbolico a una directory specificata per consentire l'accesso tramite più percorsi.
  • Per i servizi sono state proposte le impostazioni TTYRows e TTYColumns per specificare il numero di righe e colonne nel dispositivo TTY.
  • È stata aggiunta l'impostazione ExitType, che consente di modificare la logica di determinazione della conclusione del servizio. Per impostazione predefinita, systemd tiene traccia della conclusione solo del processo principale, ma impostando ExitType=cgroup, il gestore di sistema attenderà la conclusione dell'ultimo processo nel cgroup.
  • L'implementazione del supporto TPM2/FIDO2/PKCS11 in systemd-cryptsetup ora può essere compilata anche come plugin per cryptsetup, permettendo di utilizzare il comando cryptsetup standard per sbloccare la partizione crittografata.
  • Nel gestore TPM2 di systemd-cryptsetup/systemd-cryptsetup è stata aggiunta la supporto per chiavi primarie RSA, oltre alle chiavi ECC, per migliorare la compatibilità con i chip che non supportano ECC.
  • Nella /etc/crypttab è stata aggiunta l'opzione token-timeout, che consente di definire il tempo massimo di attesa per la connessione di un token PKCS#11/FIDO2, trascorso il quale verrà richiesta l'immissione di una password o di una chiave di ripristino.
  • In systemd-timesyncd è stata implementata la configurazione SaveIntervalSec, che consente di salvare periodicamente il valore dell'ora di sistema attuale su disco, ad esempio, per realizzare orologi monotoni su sistemi privi di RTC.
  • Nell'utilità systemd-analyze sono state aggiunte le opzioni: "—image" e "—root" per controllare i file unit all'interno di un'immagine o di una directory radice specificata, "—recursive-errors" per considerare le unit dipendenti nel rilevamento degli errori, "—offline" per controllare singolarmente i file unit salvati su disco, "—json" per l'output in formato JSON, "—quiet" per disattivare i messaggi irrilevanti, "—profile" per collegarsi a un profilo portatile. È stato anche aggiunto il comando inspect-elf per analizzare file core nel formato ELF e la possibilità di controllare i file unit con un nome di unit specificato, indipendentemente dal fatto che questo nome corrisponda o meno al nome del file.
  • In systemd-networkd è stato esteso il supporto per la rete CAN (Controller Area Network). Sono state aggiunte impostazioni per gestire le modalità CAN: Loopback, OneShot, PresumeAck e ClassicDataLengthCode. Nella sezione [CAN] dei file .network sono state aggiunte opzioni TimeQuantaNSec, PropagationSegment, PhaseBufferSegment1, PhaseBufferSegment2, SyncJumpWidth, DataTimeQuantaNSec, DataPropagationSegment, DataPhaseBufferSegment1, DataPhaseBufferSegment2 e DataSyncJumpWidth per la gestione della sincronizzazione bit dell'interfaccia CAN.
  • In systemd-networkd è stata aggiunta per il cliente DHCPv4 l'opzione Label, che consente di configurare un'etichetta degli indirizzi utilizzata durante la configurazione degli indirizzi IPv4.
  • In systemd-udevd per "ethtool" è stata implementata la supporto per valori speciali "max", che impostano la dimensione del buffer al valore massimo supportato dall'hardware.
  • Nei file .link per systemd-udevd ora è possibile configurare diverse opzioni di aggregazione degli adattatori di rete e di attivazione degli elaboratori hardware (offload).
  • In systemd-networkd, new .network files are provided by default: 80-container-vb.network for defining network bridges created when launching systemd-nspawn with the options "—network-bridge" or "—network-zone"; 80-6rd-tunnel.network for defining tunnels automatically created upon receiving a DHCP response with the 6RD option.
  • In systemd-networkd and systemd-udevd, support for IP over InfiniBand interfaces has been added, for which the section "[IPoIB]" has been added to systemd.netdev files, and the Kind setting has been implemented to handle the value "ipoib."
  • In systemd-networkd, automatic route configuration for addresses specified in the AllowedIPs parameter has been ensured, which can be configured via the RouteTable and RouteMetric parameters in the [WireGuard] and [WireGuardPeer] sections.
  • In systemd-networkd, automatic generation of unchanging MAC addresses for batadv and bridge interfaces has been ensured. To disable this behavior, the value MACAddress=none can be specified in .netdev files.
  • In .link files, the setting WakeOnLanPassword has been added to the "[Link]" section to specify the password when using WoL in "SecureOn" mode.
  • The settings AutoRateIngress, CompensationMode, FlowIsolationMode, NAT, MPUBytes, PriorityQueueingPreset, FirewallMark, Wash, SplitGSO, and UseRawPacketSize have been added to the "[CAKE]" section of .network files to define the parameters for the CAKE (Common Applications Kept Enhanced) queue management mechanism.
  • The setting IgnoreCarrierLoss has been added to the "[Network]" section of .network files to determine how long to wait before reacting to carrier signal loss.
  • In systemd-nspawn, homectl, machinectl, and systemd-run, the syntax of the "—setenv" parameter has been extended — if only the variable name is specified (without "="), the value will be taken from the corresponding environment variable (for example, specifying "—setenv=FOO" will take the value from the environment variable $FOO and use it in the identically named environment variable set in the container).
  • In systemd-nspawn, the option "—suppress-sync" has been added to disable the execution of the sync()/fsync()/fdatasync() system calls when creating a container (useful when speed is of paramount importance and saving build artifacts in case of failure isn't crucial, as they can be recreated at any moment).
  • È stata aggiunta una nuova base dati hwdb, che include diversi tipi di analizzatori di segnali (multimetri, analizzatori di protocollo, oscilloscopi, ecc.). Le informazioni sulle telecamere nella hwdb sono state ampliate con un campo informativo sul tipo di telecamera (normale o infrarosso) e sulla posizione dell'obiettivo (davanti o dietro).
  • È stata garantita la generazione di nomi di interfacce di rete che non cambiano per i dispositivi netfront utilizzati in Xen.
  • L'analisi dei core dump tramite lo strumento systemd-coredump, basato sulle librerie libdw/libelf, viene ora eseguita in un processo separato, isolato in un ambiente sandbox.
  • In systemd-importd è stato aggiunto il supporto per le variabili d'ambiente $SYSTEMD_IMPORT_BTRFS_SUBVOL, $SYSTEMD_IMPORT_BTRFS_QUOTA, $SYSTEMD_IMPORT_SYNC, che consentono di disabilitare la generazione di sottovolumi Btrfs, oltre a configurare quote e sincronizzazione dei dischi.
  • In systemd-journald, su file system che supportano la modalità copy-on-write, è stata ripristinata la modalità COW per i log di archivio, permettendo la loro compressione tramite Btrfs.
  • In systemd-journald è stata implementata la deduplicazione dei campi identici all'interno di un messaggio, eseguita prima di inserire il messaggio nel registro.
  • Nel comando shutdown è stata aggiunta l'opzione «—show» per mostrare la pianificazione dello spegnimento.

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