Lansare manager de sistem systemd 250

După cinci luni de dezvoltare, a fost lansată versiunea managerului de sistem systemd 250. În această versiune, a fost implementată posibilitatea de a stoca datele de autentificare într-o formă criptată, s-a realizat verificarea secțiunilor GPT detectate automat prin semnătură digitală, s-a îmbunătățit informarea despre cauzele întârzierilor la pornirea serviciilor, au fost adăugate opțiuni pentru limitarea accesului serviciului la anumite sisteme de fișiere și interfețe de rețea, s-a asigurat suportul pentru controlul integrității secțiunilor prin intermediul modulului dm-integrity, iar suportul pentru autoactualizarea sd-boot a fost, de asemenea, adăugat.

Modificări principale:

  • A fost adăugat suport pentru datele de autentificare criptate și autentificate, ceea ce poate fi util pentru stocarea sigură a materialelor confidențiale, cum ar fi SSL-chei și parole de acces. Decryptarea datelor de autentificare se face doar la nevoie și în legătură cu instalația locală sau echipamentul. Datele sunt criptate automat folosind algoritmi simetrici de criptare, cheia pentru care poate fi stocată în sistemul de fișiere, în cipul TPM2 sau utilizând un sistem combinat. La pornirea serviciului, datele de autentificare sunt decryptate automat și devin disponibile serviciului în formă normală. Pentru a lucra cu datele de autentificare criptate, a fost adăugat utilitarul 'systemd-creds', iar pentru servicii au fost oferite setările LoadCredentialEncrypted și SetCredentialEncrypted.
  • În sd-stub, fișierul executabil pentru EFI, prin care firmware-ul EFI încarcă nucleul Linux, a fost adăugat suport pentru încărcarea nucleului folosind protocolul LINUX_EFI_INITRD_MEDIA_GUID EFI. De asemenea, în sd-stub a fost adăugată posibilitatea de a împacheta datele de autentificare și fișierele sysext într-un arhiv cpio și de a trimite această arhivă nucleului împreună cu initrd (fișierele suplimentare sunt plasate în directorul \/.extra\/). Această capacitate permite utilizarea unui mediu initrd verificabil și nemodificabil, completat cu sysexts și date criptate pentru autentificare.
  • Specificația Discoverable Partitions a fost semnificativ extinsă, oferind instrumente pentru identificarea, montarea și activarea partițiilor de sistem care utilizează GPT (GUID Partition Tables). Comparativ cu versiunile anterioare, pentru majoritatea arhitecturilor în specificație s-a implementat suport pentru partiția rădăcină și partiția \/usr, inclusiv pentru platformele care nu utilizează UEFI.

    În Partitions Discoverable a fost adăugată suport pentru partiții a căror integritate este verificată de modulul dm-verity folosind semnături digitale PKCS#7, ceea ce simplifică crearea imaginilor de disc complet autentificate. Suportul pentru verificare este integrat în diverse utilitare care manipulează imaginile de disc, incluzând systemd-nspawn, systemd-sysext, systemd-dissect, servicii cu RootImage, systemd-tmpfiles și systemd-sysusers.

  • Pentru unități care au un timp îndelungat de pornire sau oprire, pe lângă afișarea unui indicator animat al progresului operațiunii, a fost adăugată opțiunea de a oferi informații de stare, care permit să se înțeleagă ce se întâmplă cu serviciul în acel moment și care servicii așteaptă să fie finalizate de către managerul de sistem.
  • În /etc/systemd/system.conf și /etc/systemd/user.conf a fost adăugat parametru DefaultOOMScoreAdjust, care permite ajustarea pragului de activare al OOM-killer în caz de lipsă de memorie, aplicabil proceselor lansate de systemd pentru sistem și utilizatori. În mod implicit, greutatea serviciilor de sistem este mai mare decât cea a serviciilor utilizatorilor, adică în caz de lipsă de memorie, probabilitatea ca serviciile utilizatorilor să fie terminate este mai mare decât cea a serviciilor de sistem.
  • A fost adăugată setarea RestrictFileSystems, care permite restricționarea accesului serviciilor la anumite tipuri de sisteme de fișiere. Pentru a vizualiza tipurile disponibile de FS, se poate utiliza comanda „systemd-analyze filesystems”. În mod similar, a fost implementată opțiunea RestrictNetworkInterfaces, care permite restricționarea accesului la anumite interfețe de rețea. Implementarea se bazează pe modulul BPF LSM, care limitează accesul grupului de procese la obiectele nucleului.
  • A fost adăugat un nou fișier de configurare /etc/integritytab și utilitarul systemd-integritysetup, care configurează modulul dm-integrity pentru a controla integritatea datelor la nivelul sectorilor individuali, de exemplu, pentru a garanta neschimbarea datelor criptate (Authenticated Encryption, garantează că blocul de date nu a fost modificat pe căi ocolitoare). Formatul fișierului /etc/integritytab este similar cu cel al fișierelor /etc/crypttab și /etc/veritytab, cu excepția că în loc de dm-crypt și dm-verity se utilizează dm-integrity.
  • A fost adăugat un nou fișier unit systemd-boot-update.service, care, odată activat și cu bootloader-ul sd-boot instalat, va permite systemd să actualizeze automat versiunea bootloader-ului sd-boot, menținând codul bootloader-ului la zi. Bootloader-ul sd-boot este acum compilat în mod implicit cu suport pentru mecanismul SBAT (UEFI Secure Boot Advanced Targeting), care rezolvă problemele legate de anularea certificatelor pentru UEFI Secure Boot. De asemenea, sd-boot oferă acum capacitatea de a analiza setările de boot pentru Microsoft Windows pentru a forma corect denumirile partițiilor de boot cu Windows și a afișa versiunea Windows.

    În sd-boot, de asemenea, a fost introdusă opțiunea de a defini schema de culori în timpul compilării. În procesul de boot, a fost adăugată suport pentru schimbarea rezoluției ecranului prin apăsarea tastei „r”. O nouă combinație de taste „f” a fost inclusă pentru a accesa interfața de configurare a firmware-ului. A fost adăugat un mod de boot automat pentru sistemul asociat cu elementul de meniu selectat la ultima încărcare. A fost introdusă posibilitatea de bootare automată a driverelor EFI plasate în directorul /EFI/systemd/drivers/ din partiția ESP (EFI System Partition).

  • A fost inclus un nou fișier unit factory-reset.target, procesat în systemd-logind, similar cu operațiile de reboot, poweroff, suspend și hibernate, și folosit pentru a crea manipulatoare pentru resetarea la setările din fabrică.
  • Procesul systemd-resolved acum creează un socket de ascultare suplimentar la adresa 127.0.0.54, pe lângă 127.0.0.53. Cererile primite la adresa 127.0.0.54 sunt redirecționate întotdeauna către serverul DNS superior și nu sunt prelucrate local.
  • A fost oferită posibilitatea de a compila systemd-importd și systemd-resolved cu biblioteca OpenSSL în loc de libgcrypt.
  • A fost adăugată suportul inițial pentru arhitectura LoongArch, utilizată în procesoarele Loongson.
  • În systemd-gpt-auto-generator a fost implementată capacitatea de a configura automat partițiile de swap definite de sistem, criptate prin subsistemul LUKS2.
  • În codul de analiză al imaginilor GPT, utilizat în systemd-nspawn, systemd-dissect și utilitare similare, a fost implementată capacitatea de a decoda imaginile pentru alte arhitecturi, permițând utilizarea systemd-nspawn pentru a rula imagini în emulatoare pentru alte arhitecturi.
  • Atunci când se inspectează imaginile de disc în systemd-dissect, acum sunt afișate informații despre destinația partiției, cum ar fi adecvarea pentru bootare prin UEFI sau rularea în containere.
  • În fișierele system-extension.d/ a fost adăugat câmpul «SYSEXT_SCOPE», care permite definirea domeniului de aplicare al imaginii de sistem — «initrd», «system» sau «portable».
  • În fișierul os-release a fost adăugat câmpul «PORTABLE_PREFIXES», care poate fi utilizat în imaginile portabile pentru a defini prefixele unit-urilor suportate.
  • În systemd-logind au fost implementate noi setări HandlePowerKeyLongPress, HandleRebootKeyLongPress, HandleSuspendKeyLongPress și HandleHibernateKeyLongPress, care pot fi utilizate pentru a determina acțiuni la menținerea anumitor taste mai mult de 5 secunde (de exemplu, prin apăsarea rapidă a tastei Suspend se poate configura trecerea în modul de așteptare, iar prin menținerea acesteia — în modul hibernare).
  • Pentru unit-uri s-au implementat setările StartupAllowedCPUs și StartupAllowedMemoryNodes, care se deosebesc de setările similare fără prefixul Startup prin faptul că se aplică doar în etapa de boot și de oprire, permițând astfel stabilirea unor limite diferite de resurse în timpul boot-ării.
  • Au fost adăugate verificările [Condition|Assert][Memory|CPU|IO]Pressure, care permit ocolirea sau încheierea cu eroare a activării unit-ului în cazul detectării, prin mecanismul PSI, a unei sarcini mari pe memorie, CPU și input/output în sistem.
  • Limita implicită pentru numărul maxim de inode a fost crescută pentru partiția /dev de la 64k la 1M, iar pentru /tmp de la 400k la 1M.
  • Pentru servicii a fost propusă setarea ExecSearchPath, care oferă posibilitatea de a schimba calea de căutare pentru fișierele executabile, lansate prin setări similare ExecStart.
  • A fost adăugată setarea RuntimeRandomizedExtraSec, care permite introducerea de variații aleatorii în timpii limită RuntimeMaxSec, limitând timpul de execuție al unit-ului.
  • Sintaxa setărilor RuntimeDirectory, StateDirectory, CacheDirectory și LogsDirectory a fost extinsă, permițând acum prin specificarea unui valor suplimentar, delimitat prin două puncte, crearea unui link simbolic către un director specificat pentru a organiza accesul pe mai multe căi.
  • Pentru servicii au fost propuse setările TTYRows și TTYColumns pentru a stabili numărul de rânduri și coloane în dispozitivul TTY.
  • A fost adăugată setarea ExitType, care permite modificarea logicii de determinare a încheierii serviciului. Implicit, systemd urmărește încheierea doar a procesului principal, dar cu setarea ExitType=cgroup, managerul de sistem va aștepta încheierea ultimei procese din cgroup.
  • Implementarea suportului TPM2/FIDO2/PKCS11 în systemd-cryptsetup este acum, de asemenea, compilată ca un plugin pentru cryptsetup, ceea ce permite utilizarea comenzii obișnuite cryptsetup pentru deblocarea unei partiții criptate.
  • În handlerul TPM2 din systemd-cryptsetup/systemd-cryptsetup a fost adăugat suport pentru cheile primare RSA, pe lângă cheile ECC, pentru a îmbunătăți compatibilitatea cu cipurile care nu suportă ECC.
  • În /etc/crypttab a fost adăugată opțiunea token-timeout, care permite definirea timpului maxim de așteptare pentru conectarea tokenului PKCS#11/FIDO2, după care va fi afișat promptul pentru introducerea parolei sau a cheii de recuperare.
  • În systemd-timesyncd a fost implementată setarea SaveIntervalSec, care permite salvarea periodică a valorii curente a timpului de sistem pe disc, de exemplu, pentru implementarea unor ceasuri monotone în sistemele fără RTC.
  • Utilitarul systemd-analyze a fost îmbogățit cu opțiuni: «—image» și «—root» pentru verificarea fișierelor unității dintr-o imagine dată sau dintr-un director rădăcină, «—recursive-errors» pentru a lua în considerare unitățile dependente în identificarea unei erori, «—offline» pentru a verifica fișierele unității salvate separat pe disc, «—json» pentru a exporta în format JSON, «—quiet» pentru a dezactiva mesajele neimportante, «—profile» pentru a se lega de un profil portabil. A fost, de asemenea, adăugată comanda inspect-elf pentru analiza fișierelor core în format ELF și capacitatea de a verifica fișierele unității cu un nume specificat, indiferent dacă acest nume se potrivește cu numele fișierului.
  • În systemd-networkd, suportul pentru magistrala CAN (Controller Area Network) a fost extins. Au fost adăugate setări pentru controlul modurilor CAN: Loopback, OneShot, PresumeAck și ClassicDataLengthCode. În secțiunea [CAN] a fișierelor .network au fost adăugate opțiunile TimeQuantaNSec, PropagationSegment, PhaseBufferSegment1, PhaseBufferSegment2, SyncJumpWidth, DataTimeQuantaNSec, DataPropagationSegment, DataPhaseBufferSegment1, DataPhaseBufferSegment2 și DataSyncJumpWidth pentru a gestiona sincronizarea biților interfeței CAN.
  • În systemd-networkd pentru clientul DHCPv4 a fost adăugată opțiunea Label, care permite configurarea unei etichete a adreselor utilizate la configurarea adreselor IPv4.
  • În systemd-udevd pentru «ethtool» a fost implementat suportul pentru valori speciale «max», care setează dimensiunea bufferului la valoarea maximă acceptată de hardware.
  • În fișierele .link pentru systemd-udevd acum pot fi configure diferite parametrii pentru agregarea adaptatoarelor de rețea și conectarea procesorilor hardware (offload).
  • În systemd-networkd, sunt propuse noi fișiere .network: 80-container-vb.network pentru definirea podurilor de rețea create la pornirea systemd-nspawn cu opțiunile „—network-bridge” sau „—network-zone”; 80-6rd-tunnel.network pentru definirea tunelurilor create automat la primirea unui răspuns DHCP cu opțiunea 6RD.
  • În systemd-networkd și systemd-udevd a fost adăugată suportul pentru tunneling IP peste interfețele InfiniBand, pentru care în fișierele systemd.netdev a fost adăugată secțiunea „[IPoIB]”, iar în configurația Kind a fost implementată procesarea valorii „ipoib”.
  • În systemd-networkd, s-a asigurat configurarea automată a rutelor pentru adresele specificate în parametru AllowedIPs, care poate fi configurată prin parametrii RouteTable și RouteMetric în secțiunile [WireGuard] și [WireGuardPeer].
  • În systemd-networkd, s-a asigurat generarea automată a adreselor MAC constante pentru interfețele batadv și bridge. Pentru a dezactiva acest comportament, se poate specifica valoarea MACAddress=none în fișierele .netdev.
  • În fișierele .link, în secțiunea „[Link]” a fost adăugată configurația WakeOnLanPassword, pentru a defini parola utilizată în modul WoL „SecureOn”.
  • În secțiunea „[CAKE]” a fișierelor .network au fost adăugate configurațiile AutoRateIngress, CompensationMode, FlowIsolationMode, NAT, MPUBytes, PriorityQueueingPreset, FirewallMark, Wash, SplitGSO și UseRawPacketSize pentru a defini parametrii mecanismului de gestionare a cozilor de rețea CAKE (Common Applications Kept Enhanced).
  • În secțiunea „[Network]” a fișierelor .network a fost adăugată configurația IgnoreCarrierLoss, care permite specificarea cât timp se așteaptă înainte de a reacționa la pierderea semnalului purtător.
  • În systemd-nspawn, homectl, machinectl și systemd-run a fost extinsă sintaxa parametrului „—setenv” — dacă este specificat doar numele variabilei (fără „=” ), valoarea va fi preluată din variabila de mediu corespunzătoare (de exemplu, specificând „—setenv=FOO”, se va prelua valoarea din variabila de mediu $FOO și folosită în variabila de mediu omonimă din container).
  • În systemd-nspawn a fost adăugată opțiunea „—suppress-sync” pentru a dezactiva execuția apelurilor de sistem sync()/fsync()/fdatasync() la crearea containerului (utilă atunci când viteza este prioritară și salvarea artefactelor de compilare în cazul unei erori nu este importantă, deoarece acestea pot fi recreate oricând).
  • A fost adădată o nouă bază de date hwdb, care include diferite tipuri de analizoare de semnal (multimetre, analizoare de protocol, osciloscoape etc.). Informațiile despre camere în hwdb au fost extinse cu un câmp care conține informații despre tipul camerei (normală sau infraroșie) și plasarea obiectivului (în față sau în spate).
  • Generarea numelui constant pentru interfețele de rețea pentru dispozitivele netfront utilizate în Xen a fost asigurată.
  • Analiza fișierelor core cu utilitarul systemd-coredump pe baza bibliotecilor libdw/libelf se efectuează acum într-un proces separat, izolat într-un mediu sandbox.
  • În systemd-importd a fost adăugată suport pentru variabile de mediu $SYSTEMD_IMPORT_BTRFS_SUBVOL, $SYSTEMD_IMPORT_BTRFS_QUOTA, $SYSTEMD_IMPORT_SYNC, care permit dezactivarea generării subvolumelor Btrfs și configurarea cotelor și sincronizării discurilor.
  • În systemd-journald, pe sistemele de fișiere care suportă modul copy-on-write, a fost reactivat modul COW pentru jurnalele arhivate, ceea ce permite comprimarea acestora prin intermediul Btrfs.
  • În systemd-journald a fost implementată deduplicarea câmpurilor identice dintr-un singur mesaj, care se realizează înainte de a plasa mesajul în jurnal.
  • Comenzii shutdown i s-a adăugat opțiunea „—show” pentru a afișa oprirea planificată.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster