systemd 245 disponibil cu implementarea directorului principal portabil

După trei luni de dezvoltare prezentat lansarea managerului de sistem sistemd 245. În noua versiune, sunt adăugate noi componente systemd-homed și systemd-repart, este inclus suport pentru profilele de utilizator portabile în format JSON, este oferită capacitatea de a defini spații de nume în systemd-journald și este adăugat suport pentru mecanismul „pidfd”. . Complet reproiectat site-ul proiectului, care colectează cea mai mare parte a documentației disponibile și propune un nou logo.

systemd 245 disponibil cu implementarea directorului principal portabil

Principalul modificări:

  • Serviciu adăugat systemd-homed, care asigură gestionarea directoarelor de acasă portabile, livrate sub forma unui fișier imagine montat, datele în care sunt criptate. Systemd-homed vă permite să creați medii autonome pentru datele utilizatorului care pot fi transferate între diferite sisteme fără să vă faceți griji cu privire la sincronizarea și confidențialitatea identificatorilor. Acreditările utilizatorului sunt legate mai degrabă de directorul de pornire decât de setările de sistem - se folosește un profil în format în loc de /etc/passwd, /etc/group și /etc/shadow JSON. Pentru mai multe detalii, vezi ultimul anunț systemd-homed.
  • S-a adăugat componenta însoțitoare systemd-homed "userdb” („systemd-userdb”), care traduce conturile UNIX/glibc NSS în înregistrări JSON și oferă un API Varlink unificat pentru interogare și iterare peste înregistrări. Profilul JSON asociat cu directorul de acasă specifică parametrii necesari pentru munca utilizatorului, inclusiv numele de utilizator, parola hash, cheile de criptare, cotele și resursele furnizate. Profilul poate fi certificat cu o semnătură digitală stocată pe un token extern Yubikey. Pentru gestionarea profilurilor, este propus utilitarul „userdbctl”. Suport pentru profilurile JSON a fost adăugat la diferite componente systemd, inclusiv systemd-logind și pam-systemd, permițând utilizatorilor directoarelor portabile să se autentifice, să se conecteze, să seteze variabile de mediu, să creeze o sesiune, să stabilească limite etc. În viitor, este de așteptat ca cadrul sssd să poată genera profiluri JSON cu setările utilizatorului stocate în LDAP.
  • A fost adăugat un nou utilitar „systemd-repart”, conceput pentru a repartiționa tabelele de partiții de disc în format GPT. Structura partiției este definită în formă declarativă prin fișiere care descriu ce partiții ar trebui sau pot exista. La fiecare boot, tabelul de partiții propriu-zis este comparat cu aceste fișiere, după care se adaugă partițiile lipsă sau, dacă dimensiunea relativă sau absolută definită în setări nu se potrivește, dimensiunea celor existente este mărită. Sunt permise doar modificări incrementale, de ex. ștergerea și reducerea dimensiunii nu este posibilă, partițiile pot fi doar adăugate și mărite.
    Utilitarul este conceput pentru a fi lansat din initrd și detectează automat discul pe care se află partiția rădăcină, care nu necesită configurare suplimentară, cu excepția fișierelor cu definiția modificărilor.

    În practică, systemd-repart poate fi util pentru imaginile sistemului de operare care pot fi livrate inițial într-o formă minimă, iar după prima pornire pot fi extinse la dimensiunea dispozitivului bloc existent sau completate cu partiții suplimentare (de exemplu, rădăcină). partiția poate fi extinsă pentru a acoperi întregul disc sau după prima pornire creați o partiție de swap sau /home). O altă utilizare ar fi configurațiile cu două partiții rotative - doar prima partiție ar putea fi furnizată inițial, iar a doua ar fi creată la prima pornire.

  • Acum este posibil să lansați mai multe instanțe de systemd-journald, fiecare dintre ele păstrând jurnalele în propriul spațiu de nume. În plus față de principalul systemd-journald.service, directorul .service oferă un șablon pentru crearea de instanțe suplimentare legate de spațiile lor de nume folosind directiva „LogNamespace”. Fiecare spațiu de nume de jurnal este deservit de un proces de fundal separat, cu propriul set de setări și limite. Caracteristica propusă poate fi utilă pentru echilibrarea încărcării cu un volum mare de jurnale sau pentru îmbunătățirea izolării aplicațiilor. S-a adăugat opțiunea „--namespace” la journalctl pentru a limita interogarea doar la spațiul de nume specificat.
  • Systemd-udevd și alte componente systemd au adăugat suport pentru un mecanism de atribuire de nume alternative interfețelor de rețea, permițând ca mai multe nume să fie utilizate simultan pentru o singură interfață. Numele poate avea până la 128 de caractere (anterior, numele interfeței de rețea era limitat la 16 caractere). În mod implicit, systemd-udevd atribuie acum fiecărei interfețe de rețea toate numele variantelor generate de schemele de denumire acceptate. Acest comportament poate fi modificat prin noile setări AlternativeName și AlternativeNamesPolicy din fișierele .link. systemd-nspawn implementează generarea de nume alternative cu numele complet al containerului pentru legăturile veth create pe partea gazdă.
  • API-ul sd-event.h adaugă suport pentru subsistemul nucleului Linux „pidfd” pentru a gestiona situația de reutilizare a PID (pidfd este asociat cu un anumit proces și nu se modifică, în timp ce un PID poate fi asociat cu un alt proces după procesul curent asociat cu acesta iese din acest PID). Toate componentele systemd, cu excepția PID 1, au fost convertite pentru a utiliza pidfds dacă subsistemul este suportat de nucleul curent.
  • systemd-logind oferă verificări de acces pentru operațiunea de schimbare a terminalului virtual prin PolicyKit. În mod implicit, permisiunile de schimbare a terminalului activ sunt acordate numai utilizatorilor care au inițiat o sesiune pe terminalul virtual local cel puțin o dată.
  • Pentru a facilita crearea imaginilor initrd cu systemd, handlerul PID 1 detectează acum dacă initrd este utilizat și în acest caz încarcă automat initrd.target în loc de default.target. Cu această abordare, initrd și imaginile sistemului principal pot diferi doar în prezența fișierului /etc/initrd-release.
  • S-a adăugat un nou parametru de linie de comandă a nucleului - „systemd.cpu_affinity”, echivalent cu opțiunea CPUAffinity din /etc/systemd/system.conf și care vă permite să configurați masca de afinitate CPU pentru PID 1 și alte procese.
  • S-a activat reîncărcarea bazei de date SELinux împreună cu repornirea PID 1 prin comenzi precum „systemctl daemon-reload”.
  • Setarea „systemd.show-status=error” a fost adăugată la manipulatorul PID 1, când este setată, pe consolă sunt afișate doar mesajele de eroare și întârzierile semnificative în timpul încărcării.
  • systemd-sysusers a adăugat suport pentru crearea de utilizatori cu un nume de grup principal care este diferit de numele de utilizator.
  • systemd-growfs introduce suport pentru extinderea partiției XFS prin opțiunea de montare x-systemd.growfs în /etc/fstab, în ​​plus față de extinderea partiției suportată anterior cu Ext4 și Btrfs.
  • S-a adăugat opțiunea x-initrd.attach la /etc/crypttab pentru a defini o partiție criptată deja deblocată în etapa initrd.
  • systemd-cryptsetup a adăugat suport (opțiunea pkcs11-uri în /etc/crypttab) pentru deblocarea partițiilor criptate folosind carduri inteligente PKCS#11, de exemplu pentru atașarea criptării partițiilor la YubiKeys.
  • Noile opțiuni de montare „x-systemd.required-by” și „x-systemd.wanted-by” au fost adăugate la /etc/fstab pentru a configura în mod explicit unitățile care definesc operațiunile de montare pentru a fi apelate în loc de local-fs.target și remote -fs .tinta.
  • A fost adăugată o nouă opțiune de sandboxing de serviciu - ProtectClock, care limitează scrierea în ceasul sistemului (accesul este blocat la nivelul /dev/rtc, apeluri de sistem și permisiuni CAP_SYS_TIME/CAP_WAKE_ALARM).
  • La specificație Partiții descoperibile și systemd-gpt-auto-generator a adăugat detectarea partiției
    /var și /var/tmp.

  • În „systemctl list-unit-files”, la afișarea unei liste de unități, a apărut o nouă coloană care reflectă starea de activare oferită în presetările producătorului pentru acest tip de unitate.
  • O opțiune „—with-dependencies” a fost adăugată la „systemctl”, când este instalată, comenzi precum „systemctl status” și „systemctl cat” vor afișa nu numai toate unitățile corespunzătoare, ci și unitățile de care depind.
  • În systemd-networkd, configurația qdisc a adăugat capacitatea de a configura parametrii TBF (Token Bucket Filter), SFQ (Stochastic Fairness Queuing), CoDel (Controlled-Delay Active Queue Management) și FQ (Fair Queue).
  • systemd-networkd a adăugat suport pentru dispozitivele de rețea IFB (Bloc funcțional intermediar).
  • Systemd-networkd implementează parametrul MultiPathRoute în secțiunea [Route] pentru a configura rute cu mai multe căi.
  • În systemd-networkd pentru clientul DHCPv4, a fost adăugată opțiunea SendDecline, când este specificată, după primirea unui răspuns DHCP cu o adresă, se efectuează o verificare a adresei duplicate și dacă este detectat un conflict de adresă, adresa emisă este respinsă. Opțiunea RouteMTUBytes a fost, de asemenea, adăugată la clientul DHCPv4, permițându-vă să determinați dimensiunea MTU pentru rutele generate din legături de adrese IP (închirieri).
  • Setarea PrefixRoute din secțiunea [Adresă] a fișierelor .network a fost retrasă. A fost înlocuită cu setarea „AddPrefixRoute”, care are sensul opus.
  • În fișierele .network, suportul pentru noua valoare „_dhcp” a fost adăugat la setarea Gateway din secțiunea „[Route]”, când este setată, o rută statică este selectată pe baza gateway-ului configurat prin DHCP.
  • Setările au apărut în fișierele .network din secțiunea „[RoutingPolicyRule]”.
    Utilizator și SuppressPrefixLength pentru a specifica rutarea sursei pe baza intervalelor UID și a mărimii prefixului.

  • În networkctl, comanda „status” oferă posibilitatea de a afișa jurnalele în legătură cu fiecare interfață de rețea.
  • systemd-networkd-wait-online adaugă suport pentru setarea timpului maxim de așteptare pentru ca o interfață să devină operațională și pentru a aștepta ca o interfață să dispară.
  • S-a oprit procesarea fișierelor .link și .network cu o secțiune „[Potrivire]” goală sau comentată.
  • În fișierele .link și .network, în secțiunea „[Potrivire]”, a fost adăugată o setare „PermanentMACAddress” pentru a verifica adresa MAC permanentă a dispozitivelor în cazul utilizării unui MAC aleator generat.
  • Secțiunea „[TrafficControlQueueingDiscipline]” din fișierele .network a fost redenumită „[NetworkEmulator]”, iar prefixul „NetworkEmulator” a fost eliminat din numele setărilor asociate.
  • systemd-resolved pentru DNS-over-TLS adaugă suport pentru verificarea SNI.

Sursa: opennet.ru

Adauga un comentariu