După cinci luni de dezvoltare lansarea managerului de sistem . În noua versiune, a fost implementat suportul pentru înghețarea unităților, posibilitatea verificării imaginii discului rădăcină prin semnătură digitală, suport pentru comprimarea jurnalului și core dump-urilor utilizând algoritmul ZSTD, posibilitatea de deblocare a directorilor de acasă portabili cu ajutorul token-urilor FIDO2, suport pentru deblocarea partițiilor Microsoft BitLocker prin /etc/crypttab, a fost efectuată redenumirea BlackList în DenyList.
Principalele :
- A fost adăugat suportul pentru controlerul de resurse freezer bazat pe cgroups v2, prin intermediul căruia se pot opri procesele și se pot elibera temporar anumite resurse (CPU, I/O și potențial chiar memorie) pentru a executa alte sarcini. Gestionarea înghețării și dezghețării unităților se face prin noua comandă «systemctl freeze» sau prin D-Bus.
- A fost adăugat suportul pentru verificarea imaginii discului rădăcină prin semnătură digitală. Verificarea se efectuează prin intermediul noilor setări în unitățile de serviciu: RootHash (hash-ul rădăcină pentru verificarea imaginii discului, specificată prin opțiunea RootImage) și RootHashSignature (semnătura digitală în format PKCS#7 pentru hash-ul rădăcină).
- În handler-ul PID 1 a fost implementată posibilitatea de încărcare automată a regulilor AppArmor precompilate (/etc/apparmor/earlypolicy) în etapa inițială a încărcării.
- Au fost adăugate noi setări pentru fișierele unit: ConditionPathIsEncrypted și AssertPathIsEncrypted pentru a verifica localizarea căii specificate pe un dispozitiv bloc pe care se utilizează criptarea (dm-crypt/LUKS), ConditionEnvironment și AssertEnvironment pentru a verifica variabilele de mediu (de exemplu, setate de PAM sau în timpul configurării containerelor).
- Pentru unitățile *.mount a fost implementată setarea ReadWriteOnly, care interzice montarea partiției în modul doar citire, dacă nu s-a reușit montarea acesteia pentru citire și scriere. În /etc/fstab, acest mod se configurează prin opțiunea «x-systemd.rw-only».
- Pentru unitățile *.socket s-a adăugat setarea PassPacketInfo, care include adăugarea de metadate suplimentare pentru fiecare pachet citit din socket de către nucleu (inclusiv modurile IP_PKTINFO, IPV6_RECVPKTINFO și NETLINK_PKTINFO pentru socket).
- Pentru servicii (unități *.service) au fost propuse setările CoredumpFilter (care determină secțiunile de memorie care ar trebui incluse în core dump-uri) și
TimeoutStartFailureMode/TimeoutStopFailureMode (care determină comportamentul (SIGTERM, SIGABRT sau SIGKILL) în caz de timeout la pornirea sau oprirea serviciului). - În majoritatea opțiunilor a fost adăugată suportul pentru specificarea valorilor hexadecimale, definite prin prefixul „0x”.
- În diversele parametrii ai liniei de comandă și în fișierele de configurare asociate cu setările cheilor sau certificatelor, a fost implementată posibilitatea de a indica calea către socket-urile unix (AF_UNIX) pentru a transmite chei și certificate prin apeluri către serviciile IPC, când nu este dorit să se plaseze certificatele în stocări de disc necriptate.
- A fost adăugat suportul pentru șase noi specificatori care pot fi utilizați în unități, tmpfiles.d/, sysusers.d/ și alte fișiere de configurare: %a pentru inserarea arhitecturii curente, %o/%w/%B/%W pentru inserarea câmpurilor cu identificatori din /etc/os-release și %l pentru inserarea numelui scurt al gazdei.
- În fișierele unit a fost oprit suportul pentru sintaxa „.include”, care a fost declarată învechită acum 6 ani.
- În setările StandardError și StandardOutput a fost oprit suportul pentru valorile „syslog” și „syslog-console”, care vor fi automat convertite în „journal” și „journal+console”.
- Pentru punctele de montare create automat pe baza tmpfs (/tmp, /run, /dev/shm etc.) au fost stabilite limite pentru dimensiune și numărul de inode, corespunzătoare 50% din dimensiunea RAM pentru /tmp și /dev/shm, și 10% din RAM pentru toate celelalte.
- Au fost adăugate noi parametrii ai liniei de comandă a nucleului: systemd.hostname pentru setearea numelui gazdei în stadiul inițial de încărcare, udev.blockdev_read_only pentru limitarea tuturor dispozitivelor bloc asociate cu unitățile fizice în modul doar pentru citire (pentru anulare selectivă se poate folosi comanda „blockdev —setrw”), systemd.swap pentru dezactivarea activării automate a partiției de swap, systemd.clock-usec pentru setarea orelor sistemului în microsecunde, systemd.condition-needs-update și systemd.condition-first-boot pentru redefinirea verificărilor ConditionNeedsUpdate și ConditionFirstBoot.
- Implicit, a fost asigurată setarea sysctl fs.suid_dumpable la valoarea 2 („suidsafe”), care permite salvarea core dump-urilor pentru procese cu flag-ul suid.
- Din baza de date hardware din ChromiumOS a fost împrumutat fișierul /usr/lib/udev/hwdb.d/60-autosuspend.hwdb, care include informații despre dispozitivele PCI și USB care suportă trecerea automată în modul de suspendare.
- În networkd.conf a fost adăugată setarea ManageForeignRoutes, care, atunci când este activată, va face ca systemd-networkd să gestioneze toate rutele configurate de alte utilitare.
- În fișierele .network a fost adăugat secțiunea „[SR-IOV]” pentru configurarea dispozitivelor de rețea care suportă SR-IOV (Single Root I/O Virtualization).
- În systemd-networkd, în secțiunea „[Network]” a fost adăugată setarea IPv4AcceptLocal pentru a permite primirea pachetelor pe interfața de rețea care provin de la o adresă locală de origine.
- În systemd-networkd a fost adăugată posibilitatea de a configura disciplinele de prioritizare a traficului HTB prin secțiunile [HierarchyTokenBucket] și
[HierarchyTokenBucketClass], „pfifo” prin [PFIFO], „GRED” prin [GenericRandomEarlyDetection], „SFB” prin [StochasticFairBlue], „cake”
prin [CAKE], „PIE” prin [PIE], „DRR” prin [DeficitRoundRobinScheduler] și
[DeficitRoundRobinSchedulerClass], „BFIFO” prin [BFIFO],
„PFIFOHeadDrop” prin [PFIFOHeadDrop], „PFIFOFast” prin [PFIFOFast], „HHF”
prin [HeavyHitterFilter], „ETS” prin [EnhancedTransmissionSelection],
„QFQ” prin [QuickFairQueueing] și [QuickFairQueueingClass]. - În systemd-networkd, în secțiunea [DHCPv4] a fost adăugată setarea UseGateway pentru a dezactiva aplicarea informațiilor despre gateway obținute prin DHCP.
- În systemd-networkd, în secțiunile [DHCPv4] și [DHCPServer] a fost adăugată setarea SendVendorOption pentru a stabili și procesa opțiuni suplimentare ale producătorului.
- În systemd-networkd, în secțiunea [DHCPServer] a fost implementat un nou set de opțiuni EmitPOP3/POP3, EmitSMTP/SMTP și EmitLPR/LPR pentru a adăuga informații despre serverele POP3, SMTP și LPR.
- În systemd-networkd, în fișierele .netdev, în secțiunea [Bridge] a apărut setarea VLANProtocol pentru a alege protocolul VLAN utilizat.
- În systemd-networkd, în fișierele .network, în secțiunea [Link] a fost implementată setarea Group pentru a gestiona grupul de legături.
- Setările BlackList au fost redenumite în DenyList (pentru a asigura compatibilitatea inversă, procesarea vechiului nume a fost păstrată).
- În systemd-networkd a fost adăugată o cantitate mare de setări legate de IPv6 și DHCPv6.
- În networkctl a fost adăugată comanda „forcerenew” pentru a forța actualizarea tuturor legăturilor de adrese (lease).
- În systemd-resolved, în setarea DNS a fost adăugată posibilitatea de a specifica numărul de port și numele gazdelor pentru verificarea certificatului DNS-over-TLS. În implementarea DNS-over-TLS a fost adăugată suportul pentru verificarea SNI.
- În systemd-resolved a fost adăugată posibilitatea de a configura redirecționarea numelui DNS cu un singur component (single-label, dintr-un nume de gazdă).
- În systemd-journald a fost asigurată suportul pentru aplicarea algoritmului zstd pentru comprimarea câmpurilor mari în jurnale. Au fost efectuate lucrări pentru a preveni apariția coliziunilor în hash-tabelele utilizate în jurnale.
- În journalctl, la afișarea mesajelor de log, au fost adăugate URL-uri clicabile cu linkuri către documentație.
- În journald.conf a fost adăugată setarea Audit pentru gestionarea activării auditului în timpul inițializării systemd-journald.
- În systemd-coredump a fost adăugată posibilitatea de comprimare a core-dump-urilor folosind algoritmul zstd.
- În systemd-repart a fost adăugată setarea UUID pentru atribuirea unui UUID secțiunii create.
- În serviciul systemd-homed, care asigură gestionarea directoarelor home portabile, a fost adăugată posibilitatea de deblocare a directoarelor home folosind tokenuri FIDO2. În backend-ul de criptare a secțiunilor LUKS a fost adăugată suportul pentru restituirea automată a blocurilor goale ale sistemului de fișiere la finalizarea sesiunii. A fost introdusă protecția împotriva criptării duble a datelor, în cazul în care s-a definit că pentru secțiunea /home din sistem se aplică deja criptarea.
- În /etc/crypttab au fost adăugate setările: „keyfile-erase” pentru ștergerea cheii după utilizare și „try-empty-password” pentru a încerca deblocarea secțiunii cu parola goală înainte de a solicita parola utilizatorului (util pentru instalarea imaginii criptate cu atribuirea parolei după prima încărcare, nu în timpul instalării).
- În systemd-cryptsetup a fost implementat suportul pentru deblocarea secțiunilor Microsoft BitLocker în timpul pornirii folosind /etc/crypttab. De asemenea, a fost adăugată posibilitatea de a citi
cheile pentru deblocarea automată a secțiunilor din fișierele /etc/cryptsetup-keys.d/.key și /run/cryptsetup-keys.d/.key. - A fost adăugat generatorul systemd-xdg-autostart-generator pentru a crea fișiere unit din fișierele de autostart .desktop.
- În „bootctl” a fost adăugată comanda „reboot-to-firmware”.
- În systemd-firstboot au fost adăugate opțiunile: „—image” pentru a specifica imaginea discului pentru încărcare, „—kernel-command-line” pentru a inițializa fișierul /etc/kernel/cmdline, „—root-password-hashed” pentru a seta hash-ul parolei root și „—delete-root-password” pentru a elimina parola root.
Sursa: opennet.ro
