systemd sistemos tvarkyklės leidimas 243

Po penkių mėnesių vystymosi pateiktas sistemos tvarkyklės leidimas 243. Tarp naujovių galime paminėti mažos atminties sistemos tvarkyklės integravimą į PID 1, savo BPF programų prijungimą vienetų srautui filtruoti, daugybę naujų systemd-networkd parinkčių, tinklo pralaidumo stebėjimo režimą. sąsajos, pagal numatytuosius nustatymus įgalinančios 64 bitų sistemose 22 bitų PID numerius vietoj 16 bitų, perėjimą prie vieningos cgroups hierarchijos, įtraukimą į systemd-network-generator.

Pagrindiniai pakeitimai:

  • Branduolio sugeneruotų signalų apie pritrūkusią atmintį atpažinimas (Out-Of-Memory, OOM) buvo įtrauktas į PID 1 tvarkyklę, kad įrenginiai, pasiekę atminties suvartojimo ribą, būtų perkelti į specialią būseną su pasirenkama galimybe priversti juos nutraukti. arba sustoti;
  • Vienetų failams nauji parametrai IPIngressFilterPath ir
    IPEgressFilterPath, leidžiantis sujungti BPF programas su savavališkais tvarkytojais, kad būtų galima filtruoti gaunamus ir išeinančius IP paketus, sugeneruotus su šiuo įrenginiu susijusių procesų. Siūlomos funkcijos leidžia sukurti savotišką užkardą sisteminėms paslaugoms. Rašymo pavyzdys paprastas tinklo filtras, pagrįstas BPF;

  • „Clean“ komanda buvo įtraukta į „systemctl“ įrankį, kad ištrintų talpyklą, vykdymo failus, būsenos informaciją ir žurnalų katalogus;
  • systemd-networkd prideda MACsec, nlmon, IPVTAP ir Xfrm tinklo sąsajų palaikymą;
  • „systemd-networkd“ įdiegia atskirą DHCPv4 ir DHCPv6 rinkinių konfigūraciją per konfigūracijos failo skyrius „[DHCPv4]“ ir „[DHCPv6]“. Pridėta parinktis RoutesToDNS, kad prie DNS serverio būtų pridėtas atskiras maršrutas, nurodytas iš DHCP serverio gautuose parametruose (kad srautas į DNS būtų siunčiamas ta pačia nuoroda, kaip ir pagrindinis maršrutas, gautas iš DHCP). Pridėtos naujos DHCPv4 parinktys: MaxAttempts – maksimalus užklausų skaičius gauti adresą, BlackList – juodasis DHCP serverių sąrašas, SendRelease – leidžia siųsti DHCP RELEASE pranešimus, kai sesija baigiasi;
  • Prie systemd-analyze įrankio buvo pridėtos naujos komandos:
    • „systemd-analyze timestamp“ – laiko analizavimas ir konvertavimas;
    • „systemd-analyze timespan“ – laikotarpių analizė ir konvertavimas;
    • „Systemd-analyze condition“ – ConditionXYZ išraiškų analizavimas ir testavimas;
    • „systemd-analyze exit-status“ – išėjimo kodų analizavimas ir konvertavimas iš skaičių į vardus ir atvirkščiai;
    • „systemd-analyze unit-files“ – pateikia visų vienetų ir vienetų slapyvardžių failų kelių sąrašą.
  • Parinktys SuccessExitStatus, RestartPreventExitStatus ir
    RestartForceExitStatus dabar palaiko ne tik skaitinius grąžinimo kodus, bet ir jų tekstinius identifikatorius (pavyzdžiui, „DATAERR“). Identifikatoriams priskirtų kodų sąrašą galite peržiūrėti naudodami komandą „sytemd-analyze exit-status“;

  • Komanda „delete“ buvo pridėta prie „networkctl“ paslaugų programos, skirtos virtualiems tinklo įrenginiams ištrinti, taip pat parinktis „—stats“, kad būtų rodoma įrenginio statistika;
  • SpeedMeter ir SpeedMeterIntervalSec nustatymai buvo įtraukti į networkd.conf, kad būtų galima periodiškai matuoti tinklo sąsajų pralaidumą. Iš matavimo rezultatų gautą statistiką galima peržiūrėti komandos 'networkctl status' išvestyje;
  • Pridėtas naujas įrankis systemd-network-generator failams generuoti
    .network, .netdev ir .link pagal IP parametrus, perduodamus paleidus per Linux branduolio komandų eilutę Dracut nustatymų formatu;

  • Sysctl "kernel.pid_max" reikšmė 64 bitų sistemose dabar pagal numatytuosius nustatymus nustatyta į 4194304 (22 bitų PID vietoj 16 bitų), o tai sumažina susidūrimų tikimybę priskiriant PID, padidina vienu metu atliekamų duomenų skaičių. vykstančius procesus ir turi teigiamos įtakos saugumui. Dėl pakeitimo gali kilti suderinamumo problemų, tačiau praktikoje apie tokias problemas dar nebuvo pranešta;
  • Pagal numatytuosius nustatymus kūrimo etapas persijungia į vieningą hierarchiją cgroups-v2 („-Ddefault-hierarchy=unified“). Anksčiau numatytasis buvo hibridinis režimas („-Ddefault-hierarchy=hibridas“);
  • Buvo pakeistas sistemos iškvietimo filtro (SystemCallFilter) elgesys, kuris uždrausto sistemos iškvietimo atveju dabar nutraukia visą procesą, o ne atskiras gijas, nes nutraukus atskiras gijas gali kilti nenuspėjamų problemų. Pakeitimai taikomi tik tuo atveju, jei turite Linux branduolį 4.14+ ir libseccomp 2.4.0+;
  • Neprivilegijuotoms programoms suteikiama galimybė siųsti ICMP Echo (ping) paketus, nustatant sysctl "net.ipv4.ping_group_range" visam grupių diapazonui (visiems procesams);
  • Siekiant pagreitinti kūrimo procesą, pagal numatytuosius nustatymus buvo sustabdytas žmogaus vadovų generavimas (norėdami sukurti visą dokumentaciją, turite naudoti parinktį „-Dman=true“ arba „-Dhtml=true“, jei norite naudoti vadovus html formatu). Kad būtų lengviau peržiūrėti dokumentaciją, įtraukti du scenarijai: build/man/man ir build/man/html, skirti dominantiems vadovams generuoti ir peržiūrėti;
  • Norint apdoroti domenų vardus su simboliais iš nacionalinės abėcėlės, pagal numatytuosius nustatymus naudojama libidn2 biblioteka (jei norite grąžinti libidn, naudokite parinktį „-Dlibidn=true“);
  • Vykdomojo failo /usr/sbin/halt.local palaikymas, kuris suteikė funkcionalumą, kuris nebuvo plačiai platinamas paskirstymuose, buvo nutrauktas. Norint organizuoti komandų paleidimą išjungiant, rekomenduojama naudoti scenarijus /usr/lib/systemd/system-shutdown/ arba apibrėžti naują vienetą, priklausantį nuo final.target;
  • Paskutiniame išjungimo etape systemd dabar automatiškai padidina žurnalo lygį sysctl „kernel.printk“, o tai išsprendžia problemą, susijusią su įvykių, įvykusių vėlesniais išjungimo etapais, rodymo žurnale, kai įprasti registravimo demonai jau baigti. ;
  • Journalctl ir kitose žurnalus rodančiose paslaugų programose įspėjimai paryškinami geltonai, o audito įrašai – mėlynai, kad būtų vizualiai paryškinti iš minios;
  • Aplinkos kintamajame $PATH kelias į bin/ dabar yra prieš kelią į sbin/, t.y. jei abiejuose kataloguose yra identiški vykdomųjų failų pavadinimai, bus vykdomas failas iš bin/;
  • systemd-logind suteikia SetBrightness() iškvietimą, kad saugiai pakeistų ekrano ryškumą per seansą;
  • Prie komandos „udevadm info“ buvo pridėta vėliavėlė „--wait-for-initialization“, kad būtų galima laukti, kol įrenginys pradės inicijuoti;
  • Sistemos įkrovos metu PID 1 tvarkytuvė dabar rodo vienetų pavadinimus, o ne eilutę su jų aprašymu. Norėdami grįžti į ankstesnę veiklą, galite naudoti parinktį StatusUnitFormat faile /etc/systemd/system.conf arba systemd.status_unit_format branduolio parinktį;
  • Pridėta KExecWatchdogSec parinktis prie /etc/systemd/system.conf, skirta 1 watchdog PID, kuri nurodo skirtąjį laiką paleisti iš naujo naudojant kexec. Senas nustatymas
    ShutdownWatchdogSec buvo pervadintas į RebootWatchdogSec ir apibrėžia užduočių skirtąjį laiką išjungimo arba įprasto paleidimo metu;

  • Pridėta nauja paslaugų parinktis Vykdymo sąlyga, kuri leidžia nurodyti komandas, kurios bus vykdomos prieš ExecStartPre. Pagal komandos grąžintą klaidos kodą priimamas sprendimas dėl tolesnio įrenginio vykdymo – jei grąžinamas kodas 0, įrenginio paleidimas tęsiamas, jei nuo 1 iki 254 tyliai baigiasi be gedimo vėliavėlės, jei 255 baigiasi gedimo vėliavėlė;
  • Pridėta nauja paslauga systemd-pstore.service, skirta išgauti duomenis iš sys/fs/pstore/ ir išsaugoti į /var/lib/pstore tolesnei analizei;
  • Naujos komandos buvo įtrauktos į timedatectl įrankį, skirtą NTP parametrams konfigūruoti systemd-timesyncd, susijusius su tinklo sąsajomis;
  • Komanda "localectl list-locales" neberodo kitų lokalių, išskyrus UTF-8;
  • Užtikrina, kad kintamųjų priskyrimo klaidos sysctl.d/ failuose būtų ignoruojamos, jei kintamojo pavadinimas prasideda simboliu „-“;
  • Tarnyba systemd-random-seed.service dabar yra visiškai atsakinga už Linux branduolio pseudoatsitiktinių skaičių generatoriaus entropijos fondo inicijavimą. Paslaugos, kurioms reikalingas teisingai inicijuotas /dev/urandom, turėtų būti paleidžiamos po systemd-random-seed.service;
  • Sistemos įkrovos įkroviklis suteikia pasirenkamą galimybę palaikyti sėklos failas atsitiktine seka EFI sistemos skaidinyje (ESP);
  • Prie „bootctl“ programos buvo pridėtos naujos komandos: „bootctl random-seed“, kad sugeneruotų pradinį failą ESP, ir „bootctl is-installed“, kad patikrintų, ar įdiegta systemd-boot loader. bootctl taip pat buvo pakoreguotas taip, kad būtų rodomi įspėjimai apie neteisingą įkrovos įrašų konfigūraciją (pavyzdžiui, kai branduolio vaizdas ištrinamas, bet paliekamas jo įkėlimo įrašas);
  • Suteikia automatinį apsikeitimo skaidinio pasirinkimą, kai sistema pereina į miego režimą. Skirsnis parenkamas atsižvelgiant į jam sukonfigūruotą prioritetą, o esant vienodiems prioritetams – laisvos vietos kiekį;
  • Prie /etc/crypttab pridėta rakto failo skirtojo laiko parinktis, kad nustatytumėte, kiek laiko įrenginys su šifravimo raktu lauks prieš paraginti įvesti slaptažodį, kad pasiektų užšifruotą skaidinį;
  • Pridėta IOWeight parinktis, leidžianti nustatyti BFQ planavimo įvesties / išvesties svorį;
  • systemd-resolved pridėtas „griežtas“ režimas, skirtas DNS-over-TLS, ir įdiegta galimybė talpykloje įrašyti tik teigiamus DNS atsakymus („Cache no-negative“ rezoliucijoje rezoliucija.conf);
  • VXLAN atveju systemd-networkd pridėjo parinktį GenericProtocolExtension, kad įgalintų VXLAN protokolo plėtinius. VXLAN ir GENEVE atveju buvo pridėta parinktis IPDoNotFragment, kad būtų nustatyta siunčiamų paketų suskaidymo draudimo vėliavėlė;
  • Systemd-networkd skiltyje „[Route]“ pasirodė FastOpenNoCookie parinktis, leidžianti greitai atidaryti TCP ryšius (TFO - TCP Fast Open, RFC 7413) atskirais maršrutais, taip pat TTLPropagate parinktį. konfigūruoti TTL LSP (žymės perjungimo kelią). Parinktis „Tipas“ palaiko vietinio, transliavimo, bet kurios transliacijos, daugialypės siuntimo, bet kokio ir „xresolve“ maršruto parinkimo režimus;
  • Systemd-networkd siūlo parinktį DefaultRouteOnDevice skiltyje „[Network]“, kad automatiškai sukonfigūruotų numatytąjį maršrutą tam tikram tinklo įrenginiui;
  • Systemd-networkd pridėjo ProxyARP ir
    ProxyARPWifi tarpinio serverio ARP elgesiui nustatyti, MulticastRouter maršruto parametrų nustatymui multicast režimu, MulticastIGMPVersion IGMP (Internet Group Management Protocol) versijos keitimui multicast;

  • „Systemd-networkd“ pridėjo „Local“, „Peer“ ir „PeerPort“ parinktis „FooOverUDP“ tuneliams, kad būtų galima sukonfigūruoti vietinius ir nuotolinius IP adresus, taip pat tinklo prievado numerį. TUN tuneliams buvo pridėta parinktis VnetHeader, skirta konfigūruoti GSO (bendrojo segmento iškrovimo) palaikymą;
  • Systemd-networkd .network ir .link failuose, esančiuose skiltyje [Match], atsirado parinktis Property, kuri leidžia identifikuoti įrenginius pagal specifines jų savybes udev;
  • Sistemoje systemd-networkd tuneliams buvo pridėta AssignToLoopback parinktis, kuri kontroliuoja, ar tunelio galas priskirtas atgalinio ryšio įrenginiui „lo“;
  • systemd-networkd automatiškai suaktyvina IPv6 steką, jei ji blokuojama per sysctl disable_ipv6 - IPv6 aktyvuojamas, jei tinklo sąsajai yra apibrėžti IPv6 nustatymai (statinis arba DHCPv6), kitu atveju jau nustatyta sysctl reikšmė nesikeičia;
  • .network failuose CriticalConnection nustatymas buvo pakeistas parinktimi KeepConfiguration, kuri suteikia daugiau galimybių apibrėžti situacijas ("taip", "static", "dhcp-on-stop", "dhcp"), kuriose systemd-networkd turėtų paleidžiant nelieskite esamų jungčių;
  • Pažeidžiamumas ištaisytas CVE-2019-15718, kurį sukėlė prieigos prie D-Bus sąsajos kontrolės trūkumas, sistemad-išspręsta. Ši problema leidžia neprivilegijuotam vartotojui atlikti operacijas, kurios yra prieinamos tik administratoriams, pvz., pakeisti DNS nustatymus ir nukreipti DNS užklausas į nesąžiningą serverį;
  • Pažeidžiamumas ištaisytas CVE-2019-9619susijęs su pam_systemd neįjungimu neinteraktyviems seansams, o tai leidžia klaidinti aktyvią seansą.

Šaltinis: opennet.ru

Добавить комментарий