Systemd System Manager versiunea 250

După cinci luni de dezvoltare, a fost prezentată lansarea managerului de sistem systemd 250. Noua versiune a introdus capacitatea de a stoca acreditările în formă criptată, a implementat verificarea partițiilor GPT detectate automat folosind o semnătură digitală, informații îmbunătățite despre cauzele întârzierilor atunci când servicii de pornire și opțiuni adăugate pentru limitarea accesului la servicii la anumite sisteme de fișiere și interfețe de rețea, este furnizat suport pentru monitorizarea integrității partițiilor folosind modulul dm-integrity și este adăugat suport pentru actualizarea automată sd-boot.

Principalele modificări:

  • S-a adăugat suport pentru acreditările criptate și autentificate, care pot fi utile pentru stocarea în siguranță a materialelor sensibile, cum ar fi cheile SSL și parolele de acces. Decriptarea acreditărilor se realizează numai atunci când este necesar și în legătură cu instalația sau echipamentul local. Datele sunt criptate automat folosind algoritmi de criptare simetrică, a căror cheie poate fi localizată în sistemul de fișiere, în cipul TPM2 sau folosind o schemă combinată. Când serviciul pornește, acreditările sunt decriptate automat și devin disponibile serviciului în forma sa normală. Pentru a lucra cu acreditări criptate, utilitarul „systemd-creds” a fost adăugat și setările LoadCredentialEncrypted și SetCredentialEncrypted au fost propuse pentru servicii.
  • sd-stub, executabilul EFI care permite firmware-ului EFI să încarce nucleul Linux, acceptă acum pornirea nucleului utilizând protocolul EFI LINUX_EFI_INITRD_MEDIA_GUID. De asemenea, la sd-stub este adăugată și capacitatea de a împacheta acreditările și fișierele sysext într-o arhivă cpio și de a transfera această arhivă în kernel împreună cu initrd (fișierele suplimentare sunt plasate în directorul /.extra/). Această caracteristică vă permite să utilizați un mediu initrd imuabil verificabil, completat de sysexts și date de autentificare criptate.
  • Specificația Discoverable Partitions a fost extinsă semnificativ, oferind instrumente pentru identificarea, montarea și activarea partițiilor de sistem folosind GPT (GUID Partition Tables). În comparație cu versiunile anterioare, specificația acceptă acum partiția rădăcină și partiția /usr pentru majoritatea arhitecturilor, inclusiv platformele care nu folosesc UEFI.

    Discoverable Partitions adaugă, de asemenea, suport pentru partițiile a căror integritate este verificată de modulul dm-verity folosind semnăturile digitale PKCS#7, facilitând crearea de imagini de disc complet autentificate. Suportul de verificare este integrat în diverse utilitare care manipulează imaginile de disc, inclusiv systemd-nspawn, systemd-sysext, systemd-dissect, servicii RootImage, systemd-tmpfiles și systemd-sysusers.

  • Pentru unitățile care durează mult timp să pornească sau să se oprească, pe lângă afișarea unei bare de progres animate, este posibil să afișați informații de stare care vă permit să înțelegeți ce se întâmplă exact cu serviciul în acest moment și ce serviciu este managerul de sistem. în prezent așteaptă să fie finalizat.
  • S-a adăugat parametrul DefaultOOMScoreAdjust la /etc/systemd/system.conf și /etc/systemd/user.conf, care vă permite să ajustați pragul OOM-killer pentru memorie scăzută, aplicabil proceselor pe care systemd le pornește pentru sistem și utilizatori. În mod implicit, ponderea serviciilor de sistem este mai mare decât cea a serviciilor utilizatorului, adică. Atunci când există memorie insuficientă, probabilitatea de încetare a serviciilor utilizatorului este mai mare decât cea a celor de sistem.
  • S-a adăugat setarea RestrictFileSystems, care vă permite să restricționați accesul serviciilor la anumite tipuri de sisteme de fișiere. Pentru a vizualiza tipurile de sisteme de fișiere disponibile, puteți utiliza comanda „systemd-analyze filesystems”. Prin analogie, a fost implementată opțiunea RestrictNetworkInterfaces, care vă permite să restricționați accesul la anumite interfețe de rețea. Implementarea se bazează pe modulul BPF LSM, care restricționează accesul unui grup de procese la obiectele kernelului.
  • S-a adăugat un nou fișier de configurare /etc/integritytab și un utilitar systemd-integritysetup care configurează modulul dm-integrity pentru a controla integritatea datelor la nivel de sector, de exemplu, pentru a garanta imuabilitatea datelor criptate (Authenticated Encryption, asigură că un bloc de date are nefiind modificat în sens giratoriu) . Formatul fișierului /etc/integritytab este similar cu fișierele /etc/crypttab și /etc/veritytab, cu excepția faptului că dm-integrity este folosit în loc de dm-crypt și dm-verity.
  • A fost adăugat un nou fișier de unitate systemd-boot-update.service, când este activat și este instalat bootloader-ul sd-boot, systemd va actualiza automat versiunea bootloader-ului sd-boot, păstrând codul bootloader-ului mereu actualizat. sd-boot în sine este acum construit implicit cu suport pentru mecanismul SBAT (UEFI Secure Boot Advanced Targeting), care rezolvă problemele cu revocarea certificatului pentru UEFI Secure Boot. În plus, sd-boot oferă posibilitatea de a analiza setările de boot Microsoft Windows pentru a genera corect numele partițiilor de boot cu Windows și pentru a afișa versiunea Windows.

    sd-boot oferă, de asemenea, capacitatea de a defini o schemă de culori în timpul construirii. În timpul procesului de pornire, a adăugat suport pentru modificarea rezoluției ecranului prin apăsarea tastei „r”. S-a adăugat tasta rapidă „f” pentru a merge la interfața de configurare a firmware-ului. S-a adăugat un mod pentru a porni automat sistemul corespunzător elementului de meniu selectat în timpul ultimei porniri. S-a adăugat posibilitatea de a încărca automat driverele EFI situate în directorul /EFI/systemd/drivers/ din secțiunea ESP (EFI System Partition).

  • Este inclus un nou fișier unitar factory-reset.target, care este procesat în systemd-logind într-un mod similar cu operațiunile de repornire, oprire, suspendare și hibernare și este folosit pentru a crea handlere pentru a efectua o resetare din fabrică.
  • Procesul rezolvat de systemd creează acum un soclu de ascultare suplimentar la 127.0.0.54 în plus față de 127.0.0.53. Solicitările care ajung la 127.0.0.54 sunt întotdeauna redirecționate către un server DNS din amonte și nu sunt procesate local.
  • Oferă posibilitatea de a construi systemd-importd și systemd-resolved cu biblioteca OpenSSL în loc de libgcrypt.
  • S-a adăugat suport inițial pentru arhitectura LoongArch utilizată în procesoarele Loongson.
  • systemd-gpt-auto-generator oferă posibilitatea de a configura automat partițiile swap definite de sistem criptate de subsistemul LUKS2.
  • Codul de analiză a imaginii GPT utilizat în utilități systemd-nspawn, systemd-dissect și similare implementează capacitatea de a decoda imagini pentru alte arhitecturi, permițând ca systemd-nspawn să fie utilizat pentru a rula imagini pe emulatorii altor arhitecturi.
  • La inspectarea imaginilor de disc, systemd-dissect afișează acum informații despre scopul partiției, cum ar fi adecvarea pentru pornirea prin UEFI sau rularea într-un container.
  • Câmpul „SYSEXT_SCOPE” a fost adăugat fișierelor system-extension.d/, permițându-vă să indicați domeniul de aplicare al imaginii de sistem - „initrd”, „system” sau „portabil”.
  • Un câmp „PORTABLE_PREFIXES” a fost adăugat la fișierul de lansare a sistemului de operare, care poate fi folosit în imagini portabile pentru a determina prefixele de fișiere de unitate acceptate.
  • systemd-logind introduce noi setări HandlePowerKeyLongPress, HandleRebootKeyLongPress, HandleSuspendKeyLongPress și HandleHibernateKeyLongPress, care pot fi folosite pentru a determina ce se întâmplă atunci când anumite taste sunt ținute apăsate mai mult de 5 secunde (de exemplu, apăsarea tastei poate fi configurată rapid în modul standby). , iar când este ținut apăsat, se va culca).
  • Pentru unități, sunt implementate setările StartupAllowedCPU și StartupAllowedMemoryNodes, care diferă de setările similare fără prefixul de pornire prin faptul că sunt aplicate numai în faza de pornire și oprire, ceea ce vă permite să setați alte restricții de resurse în timpul pornirii.
  • S-au adăugat [Condiție|Assert][Memorie|CPU|IO]Verificări de presiune care permit omiterea sau eșuarea activării unității dacă mecanismul PSI detectează o sarcină mare a memoriei, CPU și I/O din sistem.
  • Limita maximă implicită de inode a fost mărită pentru partiția /dev de la 64k la 1M, iar pentru partiția /tmp de la 400k la 1M.
  • A fost propusă o setare ExecSearchPath pentru servicii, ceea ce face posibilă schimbarea căii de căutare a fișierelor executabile lansate prin setări precum ExecStart.
  • S-a adăugat setarea RuntimeRandomizedExtraSec, care vă permite să introduceți abateri aleatorii în timpul de expirare RuntimeMaxSec, care limitează timpul de execuție al unei unități.
  • S-a extins sintaxa setărilor RuntimeDirectory, StateDirectory, CacheDirectory și LogsDirectory, în care, prin specificarea unei valori suplimentare separate prin două puncte, puteți organiza acum crearea unei legături simbolice către un anumit director pentru organizarea accesului pe mai multe căi.
  • Pentru servicii, setările TTYRows și TTYColumns sunt oferite pentru a seta numărul de rânduri și coloane din dispozitivul TTY.
  • S-a adăugat setarea ExitType, care vă permite să schimbați logica pentru determinarea sfârșitului unui serviciu. Implicit, systemd monitorizează doar moartea procesului principal, dar dacă ExitType=cgroup este setat, managerul de sistem va aștepta finalizarea ultimului proces din cgroup.
  • Implementarea de către systemd-cryptsetup a suportului TPM2/FIDO2/PKCS11 este acum construită și ca un plugin cryptsetup, permițând ca comanda normală cryptsetup să fie utilizată pentru a debloca o partiție criptată.
  • Managerul TPM2 din systemd-cryptsetup/systemd-cryptsetup adaugă suport pentru cheile primare RSA pe lângă cheile ECC pentru a îmbunătăți compatibilitatea cu cipurile non-ECC.
  • Opțiunea token-timeout a fost adăugată la /etc/crypttab, ceea ce vă permite să definiți timpul maxim de așteptare pentru o conexiune token PKCS#11/FIDO2, după care vi se va solicita să introduceți o parolă sau o cheie de recuperare.
  • systemd-timesyncd implementează setarea SaveIntervalSec, care vă permite să salvați periodic timpul curent al sistemului pe disc, de exemplu, pentru a implementa un ceas monoton pe sistemele fără RTC.
  • Au fost adăugate opțiuni la utilitarul systemd-analyze: „--image” și „--root” pentru verificarea fișierelor de unitate din interiorul unei anumite imagini sau director rădăcină, „--recursive-errors” pentru a lua în considerare unitățile dependente atunci când apare o eroare este detectat, „--offline” pentru verificarea separată a fișierelor de unitate salvate pe disc, „—json” pentru ieșire în format JSON, „—quiet” pentru a dezactiva mesajele neimportante, „—profile” pentru a le lega la un profil portabil. De asemenea, este adăugată comanda inspect-elf pentru analizarea fișierelor de bază în format ELF și capacitatea de a verifica fișierele unității cu un anumit nume de unitate, indiferent dacă acest nume se potrivește cu numele fișierului.
  • systemd-networkd a extins suportul pentru magistrala Controller Area Network (CAN). S-au adăugat setări pentru a controla modurile CAN: Loopback, OneShot, PresumeAck și ClassicDataLengthCode. S-au adăugat opțiunile TimeQuantaNSec, PropagationSegment, PhaseBufferSegment1, PhaseBufferSegment2, SyncJumpWidth, DataTimeQuantaNSec, DataPropagationSegment, DataPhaseBufferSegment1, DataPhaseBufferSegment2 și DataSyncJumpWidth la secțiunea [CAN] a fișierelor de sincronizare a interfeței CAN.
  • Systemd-networkd a adăugat o opțiune Label pentru clientul DHCPv4, care vă permite să configurați eticheta de adresă utilizată la configurarea adreselor IPv4.
  • systemd-udevd pentru „ethtool” implementează suport pentru valori „max” speciale care setează dimensiunea tamponului la valoarea maximă acceptată de hardware.
  • În fișierele .link pentru systemd-udevd acum puteți configura diverși parametri pentru combinarea adaptoarelor de rețea și conectarea handlerelor hardware (descărcare).
  • systemd-networkd oferă noi fișiere .network în mod implicit: 80-container-vb.network pentru a defini punți de rețea create la rularea systemd-nspawn cu opțiunile „--network-bridge” sau „--network-zone”; 80-6rd-tunnel.network pentru a defini tunelurile care sunt create automat la primirea unui răspuns DHCP cu opțiunea 6RD.
  • Systemd-networkd și systemd-udevd au adăugat suport pentru redirecționarea IP prin interfețele InfiniBand, pentru care secțiunea „[IPoIB]” a fost adăugată la fișierele systemd.netdev, iar procesarea valorii „ipoib” a fost implementată în Kind setare.
  • systemd-networkd oferă configurarea automată a rutei pentru adresele specificate în parametrul AllowedIPs, care poate fi configurat prin intermediul parametrilor RouteTable și RouteMetric din secțiunile [WireGuard] și [WireGuardPeer].
  • systemd-networkd oferă generarea automată de adrese MAC neschimbabile pentru interfețele batadv și bridge. Pentru a dezactiva acest comportament, puteți specifica MACAddress=none în fișierele .netdev.
  • O setare WakeOnLanPassword a fost adăugată la fișierele .link în secțiunea „[Link]” pentru a determina parola atunci când WoL rulează în modul „SecureOn”.
  • S-au adăugat setările AutoRateIngress, CompensationMode, FlowIsolationMode, NAT, MPUBytes, PriorityQueueingPreset, FirewallMark, Wash, SplitGSO și UserRawPacketSize la secțiunea „[CAKE]” a fișierelor .network pentru a defini parametrii rețelei CAKE (Common Applications Kept Management Enhanced) .
  • S-a adăugat o setare IgnoreCarrierLoss la secțiunea „[Network]” a fișierelor .network, permițându-vă să determinați cât timp să așteptați înainte de a reacționa la o pierdere a semnalului operatorului.
  • Systemd-nspawn, homectl, machinectl și systemd-run au extins sintaxa parametrului „--setenv” - dacă este specificat doar numele variabilei (fără „="), valoarea va fi preluată din variabila de mediu corespunzătoare (pentru de exemplu, când se specifică „--setenv=FOO” valoarea va fi luată din variabila de mediu $FOO și folosită în variabila de mediu cu același nume setată în container).
  • systemd-nspawn a adăugat o opțiune „--suppress-sync” pentru a dezactiva apelurile de sistem sync()/fsync()/fdatasync() la crearea unui container (utilă când viteza este o prioritate și păstrarea artefactelor de construcție în caz de eșec nu este important, deoarece pot fi recreate în orice moment).
  • A fost adăugată o nouă bază de date hwdb, care include diverse tipuri de analizoare de semnal (multimetre, analizoare de protocol, osciloscoape etc.). Informațiile despre camerele din hwdb au fost extinse cu un câmp cu informații despre tipul de cameră (obișnuită sau cu infraroșu) și amplasarea obiectivului (față sau spate).
  • Generarea activată de nume de interfețe de rețea neschimbabile pentru dispozitivele netfront utilizate în Xen.
  • Analiza fișierelor de bază de către utilitarul systemd-coredump bazat pe bibliotecile libdw/libelf este acum efectuată într-un proces separat, izolat într-un mediu sandbox.
  • systemd-importd a adăugat suport pentru variabilele de mediu $SYSTEMD_IMPORT_BTRFS_SUBVOL, $SYSTEMD_IMPORT_BTRFS_QUOTA, $SYSTEMD_IMPORT_SYNC, cu care puteți dezactiva generarea de subpartiții Btrfs, precum și configurați cotele și sincronizarea discului.
  • În systemd-journald, pe sistemele de fișiere care acceptă modul copiere la scriere, modul COW este reactivat pentru jurnalele arhivate, permițându-le să fie comprimate folosind Btrfs.
  • systemd-journald implementează deduplicarea câmpurilor identice într-un singur mesaj, care este efectuată în etapa înainte de plasarea mesajului în jurnal.
  • S-a adăugat opțiunea „--show” la comanda de închidere pentru a afișa oprirea programată.

Sursa: opennet.ru

Adauga un comentariu