PĂ€rast viit kuud arendustööd sĂŒsteemi halduri vĂ€ljaanne . Uute funktsioonid hĂ”lmavad PID 1 mĂ€lu puuduse kĂ€sitleja integreerimist, oma BPF-programmide kinnitamise toetust unit-ite liikluse filtreerimiseks, arvukalt uusi valikuid systemd-networkd jaoks, vĂ”rgu liidesete lĂ€bilaskevĂ”ime jĂ€lgimise reĆŸiimi, 64-bitistes sĂŒsteemides 22-bitiste PID-numbrite vaikimisi kasutusele vĂ”tmist 16-bitiste asemel, ĂŒhtse cgroups hierarhia kasutusele vĂ”tmist, systemd-network-generatori lisamine.
Peamised muudatused:
- PID 1 kĂ€sitlejale on lisatud tuumageneraatorite teavitamise Ă€ratundmine mĂ€lu puuduse (Out-Of-Memory, OOM) mĂ€rkidest, et tĂ”lkida ĂŒksused, mis on saavutanud mĂ€lutarbimise piiri, erilisse olekusse, vĂ”imaldades neid sundida lĂ”petada vĂ”i peatada.
- Unit-failidele on rakendatud uued parameetrid IPIngressFilterPath ja
IPEgressFilterPath, mis vĂ”imaldavad kinnitada BPF-programme suvaliste töötlejatega sissetulevate ja vĂ€ljuvate IP-pakettide filtreerimiseks, mida genereerivad kĂ€imasolevad protsessid, mis on seotud antud unit-iga. Pakutavad vĂ”imalused vĂ”imaldavad luua omamoodi tulemĂŒĂŒre systemd teenustele. lihtsast BPF-alusel pĂ”hinevast vĂ”rgufiltrist; - Systemctl utili on lisatud kĂ€sk «clean», mis eemaldab vahemĂ€lu, kĂ€itamisfailid, staatusteabe ja logikatalooge;
- Systemd-networkd on saanud toetuse MACsec, nlmon, IPVTAP ja Xfrm vÔrguliideste jaoks;
- Systemd-networkd on rakendanud eraldi DHCPv4 ja DHCPv6 protokollide seadistused, kasutades konfigureerimisfailis sektsioone «[DHCPv4]» ja «[DHCPv6]». Lisatud on parameeter RoutesToDNS, mis vĂ”imaldab lisada eraldi marsruudi DNS-serverisse vastavalt DHCP-serverilt saadud parameetritele (et DNS-i liiklus saadetaks sama linki pidi, mis peamine marsruut, saadud DHCP-st). DHCPv4 jaoks on lisatud uued valikud: MaxAttempts â maksimaalne aadressi saamise pĂ€ringute arv, BlackList â DHCP-serverite must nimekiri, SendRelease â DHCP RELEASE sĂ”numite saatmine sessiooni lĂ”petamisel;
- Systemd-analyze utili on lisatud uusi kÀske:
- «systemd-analyze timestamp» â aja analĂŒĂŒs ja teisendamine;
- «systemd-analyze timespan» â ajavahemike analĂŒĂŒs ja teisendamine;
- «systemd-analyze condition» â ConditionXYZ vĂ€ljendite analĂŒĂŒs ja testimine;
- «systemd-analyze exit-status» â lĂ”petamiskoodide analĂŒĂŒs ja teisendamine numbritest nimedeks ja vastupidi;
- «systemd-analyze unit-files» â kĂ”ikide ĂŒhikute ja ĂŒhikute alias'ide failiteede loendi vĂ€ljund.
- Valikud SuccessExitStatus, RestartPreventExitStatus ja
RestartForceExitStatus toetavad nĂŒĂŒd mitte ainult numbrilisi tagastuskoodide, vaid ka nende tekstidentifikaatoreid (nt «DATAERR»). Koodide ja identifikaatorite seose loendi vaatamiseks vĂ”ite kasutada kĂ€sku «systemd-analyze exit-status»; - Tööriista networkctl on lisatud kĂ€sk «delete», et eemaldada virtuaalseid vĂ”rgu seadmeid, samuti valik «âstats», et kuvada seadmete statistikat;
- networkd.conf-failile on lisatud seadistused SpeedMeter ja SpeedMeterIntervalSec, et perioodiliselt mÔÔta vĂ”rgu liideste lĂ€bilaskevĂ”imet. MÔÔtmistulemustest saadud statistikat saab vaadata kĂ€sku ânetworkctl statusâ vĂ€ljundis;
- Uus tööriist systemd-network-generator on lisatud, et genereerida faile
.network, .netdev ja .link IP-seadistuste pĂ”hjal, mis on edastatud Linuxi tuuma kĂ€ivitusvalikutes Dracut seadistuste formaadis; - Sysctl vÀÀrtus "kernel.pid_max" 64-bitistes sĂŒsteemides on nĂŒĂŒd vaikimisi seatud 4194304-le (22-bitised PID-id 16-bitiste asemel), mis vĂ€hendab PID-de mÀÀramisel kokkupĂ”rgete tĂ”enĂ€osust, tĂ”stab samal ajal kĂ€ivitatud protsesside arvu limiiti ja mĂ”jutab positiivselt turvalisust. Muudatus vĂ”ib potentsiaalselt pĂ”hjustada ĂŒhilduvusprobleeme, kuid praktikas ei ole sellistest probleemidest veel teatatud.
- Vaikimisi on koostamise etapis toimunud ĂŒleminek ĂŒhtsesse cgroups-v2 hierarhiasse ("-Ddefault-hierarchy=unified"). Varasemalt oli vaikimisi seatud hĂŒbriidreĆŸiim ("-Ddefault-hierarchy=hybrid");
- On muudetud sĂŒsteemi kutsungite filtri (SystemCallFilter) kĂ€itumist, mis keelu korral sĂŒsteemile nĂŒĂŒd lĂ”petab kogu protsessi, mitte ainult eraldi lĂ”ime (thread), kuna eraldi lĂ”imede lĂ”petamine vĂ”is pĂ”hjustada ettearvamatuid probleeme. Need muudatused kehtivad ainult, kui on olemas Linux tuum 4.14+ ja libseccomp 2.4.0+;
- Mitteprivileegitud programmidele on antud vĂ”imalus saata ICMP Echo (ping) pakette, seadistades sysctl "net.ipv4.ping_group_range" kogu rĂŒhmade vahemikule (kĂ”ikidele protsessidele);
- Ehki seadistuse tÀitmist, man-lehti genereerimine on lÀhteseadmest peatatud. TÀieliku dokumentatsiooni koostamiseks tuleb kasutada valikut "-Dman=true" vÔi "-Dhtml=true" HTML-vormingus juhiste jaoks. Dokumentatsiooni vaatamise lihtsustamiseks on komplektis kaks skripti build/man/man ja build/man/html juhiste genereerimiseks ja eelvaateks.
- Rahvuslike tĂ€hestiku sĂŒmboleid sisaldavate domeeninimede töötlemiseks on lĂ€hteseadmest sisse lĂŒlitatud raamatukogu libidn2 (libidn-i tagastamiseks tuleb kasutada valikut "-Dlibidn=true");
- Toetamine kÀivitatava faili /usr/sbin/halt.local, mis pakkus funktsionaalsust, mida ei ole piisavalt levinud jaotustes, on lÔpetatud. KÀskude kÀivitamise korraldamiseks töötamise lÔpetamisel on soovitatav kasutada skripte /usr/lib/systemd/system-shutdown/ vÔi mÀÀrata uus unit, mis sÔltub final.target-ist;
- SĂŒsteemi töö lĂ”petamise viimases etapis suurendab systemd nĂŒĂŒd automaatselt logide taset sysctl-is "kernel.printk", mis lahendab probleemi sĂŒndmuste logimise kuvamisega, mis toimusid hilistes lĂ”petamiste etappides, kui tavapĂ€rased logimisdaemonid olid juba lĂ”petanud.
- Journalctl ja muudes logide kuvamise tööriistades on hoiatused rÔhutatud kollase vÀrviga, samas kui auditi kirjed on esitatud sinisega, et need visuaalselt eristuda massist;
- Keskkonnamuutujas $PATH on bin/ tee nĂŒĂŒd enne sbin/ teed, st kui mĂ”lemates kaustades on sama nimega kĂ€ivitatavad failid, siis kĂ€ivitatakse fail, mis asub bin/ kaustas;
- Systemd-logindis on tagatud SetBrightness() funktsiooni kutsumine, et turvaliselt muuta ekraani heledust iga seansi jaoks;
- KĂ€sku âudevadm infoâ on lisatud lipp ââwait-for-initializationâ, et oodata seadme initsialiseerimise lĂ”puleviimist;
- SĂŒsteemi kĂ€ivitamise protsessis kuvab PID 1 protsessori töötlus nĂŒĂŒd ekraanil unitite nimed, selle asemel, et kuvada rida nende kirjeldusest. Eelmise kĂ€itumise taastamiseks saab kasutada vahendit StatusUnitFormat failis /etc/systemd/system.conf vĂ”i kerneliparameetrit systemd.status_unit_format;
- /etc/systemd/system.conf failis on PID 1 watchdogi jaoks lisatud valik KExecWatchdogSec, mis mÀÀratleb ajapiiri taaskÀivitamiseks kexeci abil. Vana seadistus
ShutdownWatchdogSec on ĂŒmber nimetud RebootWatchdogSec-iks ja mÀÀrab ajapiiri tööde jaoks sĂŒsteemi vĂ€ljalĂŒlitamise ajal vĂ”i tavalisel taaskĂ€ivitamisel; - Teenuste jaoks on lisatud uus valik , mis vĂ”imaldab mÀÀrata kĂ€ske, mis tĂ€idetakse enne ExecStartPre. Tuginedes kĂ€skude tagastuskoode nĂ€idatakse edasiseĂŒksuse tĂ€itmise otsus â kui tagastus on 0, jĂ€tkab ĂŒksuse kĂ€ivitamist, kui 1 kuni 254 lĂ”petab vaikselt ilma veateateta, kui 255 â lĂ”petab veateatega;
- Lisatud uus teenus systemd-pstore.service, et andmeid vĂ€lja vĂ”tta sys/fs/pstore/ ja salvestada /var/lib/pstore, et neid edasise analĂŒĂŒsi jaoks kasutada;
- Uutele kÀsule on lisatud timedatectl utiliidi vaates NTP seadete seadmist systemd-timesyncd jaoks, mis on seotud vÔrguliidestega;
- KÀsus «localectl list-locales» lÔpetati UTF-8-st erinevate lokaalide kuvamine;
- Tagatud on sysctl.d/ failides muutuja mÀÀramise vigade eiramine, kui muutuja nimi algab sĂŒmboliga «-«;
- Teenuse vastutab nĂŒĂŒd tĂ€ielikult Linuxi kĂ€ru valejuhuslike numbrite generaatori puu initsialiseerimise eest. Teenused, mis vajavad Ă”igesti initsialiseeritud /dev/urandom-i, peavad kĂ€ivituma pĂ€rast systemd-random-seed.service;
- Eelistustes on systemd-bootil vĂ”imalus sĂ€ilitada juhusliku jĂ€rjestusega EFI sĂŒsteemipartitsioonis (ESP);
- Tarkvarasse bootctl on lisatud uued kÀsud «bootctl random-seed» seed-faili genereerimiseks ESP-s ja «bootctl is-installed» systemd-booti laadija installatsiooni kontrollimiseks. Bootctlis on ka tÔhusad hoiatused vale kÀivitamisseadistuse kohta (nt kui kernelipilt on eemaldatud, kuid kÀivituskanali kirje on alles);
- Automaatne vahetusruumi jaotuse valik une reĆŸiimi ĂŒleminekul on tagatud. Jaotus valitakse vastavalt selle seadistatud prioriteedile, ja vĂ”rdsete prioriteetide korral - vabade ruumide suuruse pĂ”hjal;
- Faili /etc/crypttab on lisatud valik keyfile-timeout, et mÀÀrata ooteaeg krĂŒpteerimise vĂ”tme seadmele enne parooli sisestamise taotlemist krĂŒpteeritud jaotuse juurde pÀÀsemiseks;
- Lisatud on IOWeight valik sisse-/vÀljaandmise kaalu seadmiseks BFQ planeerija jaoks;
- Systemd-resolvedisse on lisatud range (âstrictâ) tööreĆŸiim DNS-over-TLS jaoks ning on ellu viidud vĂ”imalus vahetada positiivseid DNS-vastuseid («Cache no-negative» resolved.confis);
- VXLAN-i jaoks on systemd-networkd-sse lisatud valik GenericProtocolExtension, et aktiveerida VXLAN-i protokolli laiendused. VXLAN-i ja GENEVE-i jaoks on lisatud valik IPDoNotFragment, et seada vÀljaminevate pakettide jagamise keelamise lipp;
- Systemd-networkd-s on jaotises ă[Route]ă saanud uue valiku FastOpenNoCookie, et aktiveerida TCP ĂŒhenduste kiire avamise mehhanism (TFO â TCP Fast Open, RFC 7413) eraldi marsruutide jaoks, ning valik TTLPropagate, et seadistada TTL LSP (Label Switched Path). Valiku ăTypeă raames on tagatud toetus marsruutimise reĆŸiimidele local, broadcast, anycast, multicast, any ja xresolve;
- Systemd-networkd-s on jaotises ă[Network]ă lisatud valik DefaultRouteOnDevice, et automaatselt seadistada vaikimisi marsruut mÀÀratud vĂ”rguseadmest;
- Systemd-networkd-s on vÔrgu siltide jaoks lisatud valikud ProxyARP ja
ProxyARPWifi, et seadistada proxy ARP-i kĂ€itumist, MulticastRouter, et mÀÀrata marsruutimise parameetreid multicast-reĆŸiimis, ning MulticastIGMPVersion, et muuta IGMP (Internet Group Management Protocol) versiooni multicast-reĆŸiimis; - systemd-networkd-s on UDP-tunnelitele on lisatud valikud Local, Peer ja PeerPort, et mÀÀrata kohalike ja kaugpoolsete IP-aadresse ning vĂ”rgupordi numbrit. TUN-tunnelite jaoks on lisatud valik VnetHeader, et toetada GSO (Generic Segment Offload) seadistamist.
- systemd-networkd-s on .network ja .link failides [Match] sektsiooni lisatud Property valik, mis vÔimaldab mÀÀrata seadmeid nende udev-spetsiifiliste omaduste jÀrgi.
- systemd-networkd-s on tunnelite jaoks lisatud valik AssignToLoopback, mis reguleerib tunnelipunkti sidumist loopback-seadmega "lo".
- systemd-networkd-s on automatiseeritud IPv6-stegi aktiveerimine juhul, kui see on sysctl disable_ipv6 kaudu blokeeritud â IPv6 aktiveeritakse, kui vĂ”rguinterfaanil on mÀÀratud IPv6 seaded (staatilised vĂ”i DHCPv6), vastasel juhul jÀÀb juba seadistatud sysctl vÀÀrtus muutumatuks.
- Failides .network on seadistus CriticalConnection asendatud valikuga KeepConfiguration, mis pakub rohkem vahendeid olukordade mÀÀratlemiseks ("jah", "staatiline", "dhcp-on-stop", "dhcp"), kus systemd-networkd ei tohiks olemasolevaid ĂŒhendusi kĂ€ivitamisel puutuda.
- Ohutuspuudus kÔrvaldatud , mismanagement of access control to the D-Bus interface of systemd-resolved. This issue allows a non-privileged user to perform actions only available to administrators, such as changing DNS settings and redirecting DNS queries to a spoofing server;
- Ohutuspuudus kÔrvaldatud , related to the non-inclusion of pam_systemd for non-interactive sessions, which allows for the spoofing of an active session.
Allikas: opennet.ru
