systemd system manager vydanie 243

Po piatich mesiacoch vývoja predložené vydanie správcu systému systémový 243. Medzi novinky patrí integrácia do PID 1 handlera pre nízku pamäť v systéme, podpora pripojenia vlastných BPF programov na filtrovanie jednotkovej prevádzky, množstvo nových možností pre systemd-networkd, režim sledovania šírky pásma siete rozhrania, ktoré štandardne umožňujú na 64-bitových systémoch 22-bitové čísla PID namiesto 16-bitových, prechod na zjednotenú hierarchiu cgroups, zahrnutie do systemd-network-generator.

Hlavné zmeny:

  • Do obslužného programu PID 1 bolo pridané rozpoznávanie signálov generovaných jadrom o nedostatku pamäte (Out-Of-Memory, OOM) na prenos jednotiek, ktoré dosiahli limit spotreby pamäte, do špeciálneho stavu s voliteľnou možnosťou ich vynútenia ukončiť. alebo zastaviť;
  • Pre súbory jednotiek nové parametre IPIngressFilterPath a
    IPEgressFilterPath, ktorý umožňuje prepojiť BPF programy s ľubovoľnými obslužnými programami na filtrovanie prichádzajúcich a odchádzajúcich IP paketov generovaných procesmi spojenými s touto jednotkou. Navrhované funkcie vám umožňujú vytvoriť určitý druh brány firewall pre systémové služby. Príklad písania jednoduchý sieťový filter založený na BPF;

  • Do obslužného programu systemctl bol pridaný príkaz „clean“ na vymazanie vyrovnávacej pamäte, súborov runtime, informácií o stave a adresárov protokolov;
  • systemd-networkd pridáva podporu pre sieťové rozhrania MACsec, nlmon, IPVTAP a Xfrm;
  • systemd-networkd implementuje samostatnú konfiguráciu zásobníkov DHCPv4 a DHCPv6 prostredníctvom sekcií „[DHCPv4]“ a „[DHCPv6]“ v konfiguračnom súbore. Pridaná možnosť RoutesToDNS na pridanie samostatnej trasy na server DNS špecifikovaný v parametroch prijatých zo servera DHCP (takže prevádzka na DNS sa odosiela cez rovnaké prepojenie ako hlavná trasa prijatá z DHCP). Pre DHCPv4 boli pridané nové možnosti: MaxAttempts - maximálny počet požiadaviek na získanie adresy, BlackList - čierna listina DHCP serverov, SendRelease - povolenie odosielania správ DHCP RELEASE po skončení relácie;
  • Do pomôcky systemd-analyze boli pridané nové príkazy:
    • „systemd-analyze timestamp“ – časová analýza a konverzia;
    • „systemd-analyze timespan“ – analýza a konverzia časových období;
    • “systemd-analyze condition” – analýza a testovanie výrazov ConditionXYZ;
    • „systemd-analyze exit-status“ – analýza a konverzia výstupných kódov z čísel na mená a naopak;
    • "systemd-analyze unit-files" - Vypíše všetky cesty k súborom pre jednotky a aliasy jednotiek.
  • Možnosti SuccessExitStatus, RestartPreventExitStatus a
    RestartForceExitStatus teraz podporuje nielen číselné návratové kódy, ale aj ich textové identifikátory (napríklad „DATAERR“). Pomocou príkazu „sytemd-analyze exit-status“ môžete zobraziť zoznam kódov priradených k identifikátorom;

  • Do pomôcky networkctl bol pridaný príkaz „delete“ na vymazanie zariadení virtuálnej siete, ako aj možnosť „—stats“ na zobrazenie štatistík zariadení;
  • Nastavenia SpeedMeter a SpeedMeterIntervalSec boli pridané do networkd.conf na pravidelné meranie priepustnosti sieťových rozhraní. Štatistiku získanú z výsledkov merania je možné zobraziť vo výstupe príkazu 'networkctl status';
  • Pridaný nový nástroj systemd-network-generator na generovanie súborov
    .network, .netdev a .link na základe nastavení IP odovzdaných pri spustení cez príkazový riadok jadra Linuxu vo formáte nastavení Dracut;

  • Hodnota sysctl "kernel.pid_max" na 64-bitových systémoch je teraz predvolene nastavená na 4194304 (22-bitové PID namiesto 16-bitových), čo znižuje pravdepodobnosť kolízií pri priraďovaní PID, zvyšuje limit počtu súčasne prebiehajúcich procesov a má pozitívny vplyv na bezpečnosť. Zmena by mohla potenciálne viesť k problémom s kompatibilitou, ale takéto problémy ešte neboli v praxi zaznamenané;
  • Štandardne sa fáza zostavenia prepne na zjednotenú hierarchiu cgroups-v2 („-Ddefault-hierarchy=unified“). Predtým bol predvolený hybridný režim („-Ddefault-hierarchy=hybrid“);
  • Zmenilo sa správanie filtra systémových volaní (SystemCallFilter), ktorý v prípade zakázaného systémového volania teraz ukončí celý proces, a nie jednotlivé vlákna, pretože ukončenie jednotlivých vlákien by mohlo viesť k nepredvídateľným problémom. Zmeny platia iba vtedy, ak máte jadro Linuxu 4.14+ a libseccomp 2.4.0+;
  • Neprivilegované programy majú možnosť posielať pakety ICMP Echo (ping) nastavením sysctl "net.ipv4.ping_group_range" pre celý rozsah skupín (pre všetky procesy);
  • Na urýchlenie procesu zostavovania bolo generovanie manuálov štandardne zastavené (na zostavenie úplnej dokumentácie musíte použiť voľbu „-Dman=true“ alebo „-Dhtml=true“ pre manuály vo formáte html). Na uľahčenie prezerania dokumentácie sú zahrnuté dva skripty: build/man/man a build/man/html na generovanie a prezeranie zaujímavých manuálov;
  • Na spracovanie názvov domén so znakmi z národných abecied sa štandardne používa knižnica libidn2 (na vrátenie libidn použite možnosť „-Dlibidn=true“);
  • Podpora pre spustiteľný súbor /usr/sbin/halt.local, ktorý poskytoval funkcie, ktoré neboli široko distribuované v distribúciách, bola ukončená. Na organizáciu spúšťania príkazov pri vypínaní sa odporúča použiť skripty v /usr/lib/systemd/system-shutdown/ alebo definovať novú jednotku, ktorá závisí od final.target;
  • V poslednej fáze vypínania teraz systemd automaticky zvyšuje úroveň protokolu v sysctl „kernel.printk“, čo rieši problém so zobrazovaním udalostí v protokole, ktoré sa vyskytli v neskorších fázach vypnutia, keď už boli dokončené bežné protokolovacie démony ;
  • V journalctl a iných nástrojoch zobrazujúcich protokoly sú varovania zvýraznené žltou farbou a záznamy auditu sú zvýraznené modrou farbou, aby boli vizuálne zvýraznené z davu;
  • V premennej prostredia $PATH je cesta k bin/ teraz pred cestou k sbin/, t.j. ak sú v oboch adresároch rovnaké názvy spustiteľných súborov, spustí sa súbor z bin/;
  • systemd-logind poskytuje volanie SetBrightness() na bezpečnú zmenu jasu obrazovky pre každú reláciu;
  • Príznak „--wait-for-initialization“ bol pridaný do príkazu „udevadm info“, aby sa čakalo na inicializáciu zariadenia;
  • Počas zavádzania systému teraz obsluha PID 1 zobrazuje názvy jednotiek namiesto riadku s ich popisom. Ak sa chcete vrátiť k minulému správaniu, môžete použiť voľbu StatusUnitFormat v súbore /etc/systemd/system.conf alebo voľbu jadra systemd.status_unit_format;
  • Pridaná voľba KExecWatchdogSec do /etc/systemd/system.conf pre watchdog PID 1, ktorá určuje časový limit pre reštartovanie pomocou kexecu. Staré nastavenie
    ShutdownWatchdogSec bol premenovaný na RebootWatchdogSec a definuje časový limit pre úlohy počas vypnutia alebo normálneho reštartu;

  • Pri službách pribudla nová možnosť ExecCondition, ktorý vám umožňuje zadať príkazy, ktoré sa vykonajú pred ExecStartPre. Na základe chybového kódu vráteného príkazom sa rozhodne o ďalšom vykonávaní jednotky - ak sa vráti kód 0, spúšťanie jednotky pokračuje, ak od 1 do 254 potichu skončí bez príznaku zlyhania, ak 255 skončí s príznak zlyhania;
  • Pridaná nová služba systemd-pstore.service na extrahovanie údajov zo sys/fs/pstore/ a ich uloženie do /var/lib/pstore na ďalšiu analýzu;
  • Do utility timedatectl boli pridané nové príkazy na konfiguráciu parametrov NTP pre systemd-timesyncd vo vzťahu k sieťovým rozhraniam;
  • Príkaz "localectl list-locales" už nezobrazuje iné miestne nastavenia ako UTF-8;
  • Zabezpečuje, že chyby priradenia premenných v súboroch sysctl.d/ budú ignorované, ak názov premennej začína znakom „-“;
  • Služba systemd-random-seed.service je teraz plne zodpovedný za inicializáciu entropického fondu generátora pseudonáhodných čísel jadra Linuxu. Služby, ktoré vyžadujú správne inicializovaný /dev/urandom, by sa mali spustiť po systemd-random-seed.service;
  • Zavádzací zavádzač systemd-boot poskytuje voliteľnú možnosť podpory semenný súbor s náhodnou sekvenciou v systémovom oddiele EFI (ESP);
  • Do pomôcky bootctl boli pridané nové príkazy: „bootctl random-seed“ na vygenerovanie počiatočného súboru v ESP a „bootctl is-installed“ na kontrolu inštalácie zavádzača bootctl systemd. bootctl bol tiež upravený tak, aby zobrazoval upozornenia na nesprávnu konfiguráciu zavádzacích položiek (napríklad, keď sa vymaže obraz jadra, ale ponechá sa záznam na jeho načítanie);
  • Poskytuje automatický výber odkladacej oblasti, keď systém prejde do režimu spánku. Oddiel sa vyberá v závislosti od priority, ktorá je preň nakonfigurovaná, a v prípade rovnakých priorít od množstva voľného miesta;
  • Do /etc/crypttab bola pridaná možnosť keyfile-timeout na nastavenie, ako dlho bude zariadenie so šifrovacím kľúčom čakať, kým si vyžiada heslo na prístup k šifrovanej oblasti;
  • Pridaná možnosť IOWeight na nastavenie váhy I/O pre plánovač BFQ;
  • systemd-resolved pridal „striktný“ režim pre DNS-over-TLS a implementoval možnosť ukladať do vyrovnávacej pamäte iba pozitívne odpovede DNS ("Cache no-negative" v resolved.conf);
  • Pre VXLAN pridal systemd-networkd možnosť GenericProtocolExtension na povolenie rozšírení protokolu VXLAN. Pre VXLAN a GENEVE bola pridaná možnosť IPDoNotFragment na nastavenie príznaku zákazu fragmentácie pre odchádzajúce pakety;
  • V systemd-networkd sa v sekcii „[Route]“ objavila možnosť FastOpenNoCookie, ktorá umožňuje mechanizmus rýchleho otvárania TCP spojení (TFO - TCP Fast Open, RFC 7413) vo vzťahu k jednotlivým trasám, ako aj možnosť TTLPropagate. na konfiguráciu TTL LSP (Label Switched Path). Možnosť „Typ“ poskytuje podporu pre režimy miestneho, vysielania, akéhokoľvek vysielania, multicastu, ľubovoľného a xresolve smerovania;
  • Systemd-networkd ponúka možnosť DefaultRouteOnDevice v časti „[Network]“ na automatickú konfiguráciu predvolenej trasy pre dané sieťové zariadenie;
  • Systemd-networkd pridal ProxyARP a
    ProxyARPWifi pre nastavenie správania proxy ARP, MulticastRouter pre nastavenie parametrov smerovania v režime multicast, MulticastIGMPVersion pre zmenu verzie IGMP (Internet Group Management Protocol) pre multicast;

  • Systemd-networkd pridal možnosti Local, Peer a PeerPort pre tunely FooOverUDP na konfiguráciu lokálnych a vzdialených IP adries, ako aj čísla sieťového portu. Pre tunely TUN bola pridaná možnosť VnetHeader na konfiguráciu podpory GSO (Generic Segment Offload);
  • V systemd-networkd sa v súboroch .network a .link v sekcii [Match] objavila možnosť Property, ktorá umožňuje identifikovať zariadenia podľa ich špecifických vlastností v udev;
  • V systemd-networkd bola pre tunely pridaná možnosť AssignToLoopback, ktorá riadi, či je koniec tunela priradený zariadeniu so spätnou slučkou „lo“;
  • systemd-networkd automaticky aktivuje zásobník IPv6, ak je zablokovaný cez sysctl disable_ipv6 - IPv6 sa aktivuje, ak sú pre sieťové rozhranie definované nastavenia IPv6 (statické alebo DHCPv6), inak sa už nastavená hodnota sysctl nemení;
  • V súboroch .network bolo nastavenie CriticalConnection nahradené možnosťou KeepConfiguration, ktorá poskytuje viac prostriedkov na definovanie situácií („áno“, „statické“, „dhcp-on-stop“, „dhcp“), v ktorých by mal systemd-networkd pri spustení sa nedotýkajte existujúcich pripojení;
  • Zraniteľnosť opravená CVE-2019 15718,, spôsobené nedostatočnou kontrolou prístupu k rozhraniu D-Bus systémovo vyriešené. Tento problém umožňuje neprivilegovanému používateľovi vykonávať operácie, ktoré sú dostupné len pre správcov, ako je napríklad zmena nastavení DNS a smerovanie dotazov DNS na podvodný server;
  • Zraniteľnosť opravená CVE-2019 9619,súvisiaci s nepovolením pam_systemd pre neinteraktívne relácie, čo umožňuje spoofing aktívnej relácie.

Zdroj: opennet.ru

Pridať komentár