systemd System Managerin julkaisu 243

Viiden kuukauden kehitystyön jälkeen esitetty järjestelmänhallinnan julkaisu systemd 243. Innovaatioista voidaan mainita järjestelmän vähäisen muistin käsittelijän integrointi PID 1:een, tuki omien BPF-ohjelmien liittämiselle yksikköliikenteen suodattamiseen, lukuisat uudet vaihtoehdot systemd-networkd:lle, tila verkon kaistanleveyden valvontaan. liitännät, jotka mahdollistavat oletusarvoisesti 64-bittiset PID-numerot 22-bittisissä järjestelmissä 16-bittisten sijasta, siirtymisen yhtenäiseen cgroups-hierarkiaan, sisällyttämisen systemd-network-generatoriin.

Suurimmat muutokset:

  • Ytimen generoimien muistin loppumisesta kertovien signaalien tunnistus (Out-Of-Memory, OOM) on lisätty PID 1 -käsittelijään siirtämään muistinkulutusrajan saavuttaneet yksiköt erityistilaan, jossa on valinnainen mahdollisuus pakottaa ne lopettamaan. tai pysähtyä;
  • Yksikkötiedostoille uudet parametrit IPIngressFilterPath ja
    IPEgressFilterPath, jonka avulla voit yhdistää BPF-ohjelmia mielivaltaisiin käsittelijöihin suodattaaksesi tähän yksikköön liittyvien prosessien luomat saapuvat ja lähtevät IP-paketit. Ehdotettujen ominaisuuksien avulla voit luoda eräänlaisen palomuurin järjestelmäpalveluille. Kirjoitusesimerkki yksinkertainen verkkosuodatin, joka perustuu BPF:ään;

  • "Clean"-komento on lisätty systemctl-apuohjelmaan välimuistin, ajonaikaisten tiedostojen, tilatietojen ja lokihakemistojen poistamiseksi.
  • systemd-networkd lisää tuen MACsec-, nlmon-, IPVTAP- ja Xfrm-verkkoliitäntöille;
  • systemd-networkd toteuttaa erilliset DHCPv4- ja DHCPv6-pinojen määritykset määritystiedoston [DHCPv4]- ja [DHCPv6]-osien kautta. Lisätty RoutesToDNS-vaihtoehto, jolla voit lisätä erillisen reitin DHCP-palvelimelta vastaanotetuissa parametreissa määritettyyn DNS-palvelimeen (jotta liikenne DNS:ään lähetetään saman linkin kautta kuin DHCP:ltä vastaanotettu pääreitti). DHCPv4:lle on lisätty uusia vaihtoehtoja: MaxAttempts - pyyntöjen enimmäismäärä osoitteen saamiseksi, BlackList - musta lista DHCP-palvelimista, SendRelease - sallii DHCP RELEASE -viestien lähettämisen istunnon päättyessä;
  • Systemd-analyze-apuohjelmaan on lisätty uusia komentoja:
    • "systemd-analyze timestamp" - ajan jäsentäminen ja muuntaminen;
    • "systemd-analyze timespan" - aikajaksojen analysointi ja muuntaminen;
    • "systemd-analyze condition" - jäsentää ja testata ConditionXYZ-lausekkeita;
    • "systemd-analyze exit-status" - poistumiskoodien jäsentäminen ja muuntaminen numeroista nimiksi ja päinvastoin;
    • "systemd-analyze unit-files" - Luetteloi kaikki yksiköiden ja yksiköiden aliasten tiedostopolut.
  • Vaihtoehdot SuccessExitStatus, RestartPreventExitStatus ja
    RestartForceExitStatus tukee nyt numeeristen palautuskoodien lisäksi myös niiden tekstitunnisteita (esimerkiksi "DATAERR"). Voit tarkastella tunnisteille määritettyjen koodien luetteloa "sytemd-analyze exit-status" -komennolla;

  • "delete"-komento on lisätty networkctl-apuohjelmaan virtuaalisten verkkolaitteiden poistamiseksi, sekä "—stats"-vaihtoehto laitetilastojen näyttämiseksi.
  • SpeedMeter- ja SpeedMeterIntervalSec-asetukset on lisätty networkd.conf-tiedostoon verkkoliitäntöjen suorituskyvyn ajoittain mittaamista varten. Mittaustuloksista saatuja tilastoja voi tarkastella 'networkctl status' -komennon lähdössä;
  • Lisätty uusi apuohjelma systemd-network-generator tiedostojen luomiseen
    .network, .netdev ja .link IP-asetuksiin perustuen, kun ne käynnistetään Linux-ytimen komentorivin kautta Dracut-asetukset-muodossa;

  • Sysctl "kernel.pid_max" -arvo 64-bittisissä järjestelmissä on nyt oletuksena 4194304 (22-bittiset PID:t 16-bitin sijaan), mikä vähentää törmäysten todennäköisyyttä PID-tunnuksia määritettäessä, lisää samanaikaisten järjestelmien lukumäärää. käynnissä olevia prosesseja, ja sillä on myönteinen vaikutus turvallisuuteen. Muutos voi mahdollisesti johtaa yhteensopivuusongelmiin, mutta tällaisista ongelmista ei ole vielä raportoitu käytännössä;
  • Oletusarvoisesti rakennusvaihe vaihtaa yhdistettyyn hierarkiaan cgroups-v2 ("-Ddefault-hierarchy=unified"). Aikaisemmin oletusarvo oli hybriditila ("-Ddefault-hierarchy=hybrid");
  • Järjestelmäkutsusuodattimen (SystemCallFilter) käyttäytymistä on muutettu, mikä kielletyn järjestelmäkutsun tapauksessa lopettaa nyt koko prosessin yksittäisten säikeiden sijaan, koska yksittäisten säikeiden lopettaminen voi johtaa arvaamattomiin ongelmiin. Muutokset ovat voimassa vain, jos sinulla on Linux-ydin 4.14+ ja libseccomp 2.4.0+;
  • Etuoikeutetuille ohjelmille annetaan mahdollisuus lähettää ICMP Echo (ping) -paketteja asettamalla sysctl "net.ipv4.ping_group_range" koko ryhmälle (kaikille prosesseille);
  • Rakennusprosessin nopeuttamiseksi mieskäsikirjojen luominen on oletusarvoisesti pysäytetty (täydellisen dokumentaation rakentamiseksi sinun on käytettävä vaihtoehtoa "-Dman=true" tai "-Dhtml=true" html-muodossa oleville käsikirjoille). Dokumentaation tarkastelun helpottamiseksi mukana on kaksi skriptiä: build/man/man ja build/man/html kiinnostavien käsikirjojen luomiseen ja esikatseluun;
  • Kansallisten aakkosten merkkejä sisältävien verkkotunnusten käsittelemiseen käytetään oletusarvoisesti libidn2-kirjastoa (libidn:n palauttamiseksi käytä vaihtoehtoa "-Dlibidn=true");
  • Tuki suoritettavalle /usr/sbin/halt.local-tiedostolle, joka tarjosi toimintoja, joita ei levitetty laajalti jakeluissa, on lopetettu. Komentojen käynnistämisen järjestämiseksi sammutuksen yhteydessä on suositeltavaa käyttää komentosarjoja tiedostossa /usr/lib/systemd/system-shutdown/ tai määrittää uusi yksikkö, joka riippuu tiedostosta final.target;
  • Sammutuksen viimeisessä vaiheessa systemd nostaa nyt automaattisesti lokitasoa sysctl:ssä “kernel.printk”, mikä ratkaisee ongelman, joka liittyy sammutuksen myöhemmissä vaiheissa tapahtuneiden tapahtumien näyttämiseen lokissa, kun tavalliset loki-daemonit ovat jo valmiit. ;
  • Journalctl:ssä ja muissa lokeja näyttävissä apuohjelmissa varoitukset on korostettu keltaisella ja tarkastustietueet sinisellä korostamaan ne visuaalisesti joukosta.
  • Ympäristömuuttujassa $PATH polku bin/ tulee nyt ennen polkua sbin/, ts. jos suoritettavien tiedostojen nimet ovat samat molemmissa hakemistoissa, bin/-tiedosto suoritetaan;
  • systemd-logind tarjoaa SetBrightness()-kutsun, joka muuttaa näytön kirkkautta turvallisesti istuntokohtaisesti;
  • "--wait-for-initialization" -lippu on lisätty "udevadm info" -komentoon odottamaan laitteen alustusta.
  • Järjestelmän käynnistyksen aikana PID 1 -käsittelijä näyttää nyt yksiköiden nimet niiden kuvauksen rivin sijaan. Voit palata aiempaan toimintaan käyttämällä /etc/systemd/system.conf-tiedoston StatusUnitFormat-vaihtoehtoa tai ytimen systemd.status_unit_format-vaihtoehtoa;
  • Lisätty KExecWatchdogSec-vaihtoehto hakemistoon /etc/systemd/system.conf vahtikoiran PID 1:lle, joka määrittää aikakatkaisun kexecin uudelleenkäynnistykseen. Vanha asetus
    ShutdownWatchdogSec on nimetty uudelleen nimellä RebootWatchdogSec, ja se määrittää aikakatkaisun töille sammutuksen tai normaalin uudelleenkäynnistyksen aikana.

  • Palveluihin on lisätty uusi vaihtoehto Toteutusehto, jonka avulla voit määrittää komennot, jotka suoritetaan ennen ExecStartPre:tä. Komennon palauttaman virhekoodin perusteella tehdään päätös yksikön suorittamisesta jatkossa - jos palautetaan koodi 0, yksikön käynnistys jatkuu, jos 1 - 254 päättyy hiljaa ilman vikalippua, jos 255 päättyy vikalippu;
  • Lisätty uusi palvelu systemd-pstore.service tietojen poimimiseksi sys/fs/pstore/-tiedostosta ja tallentamisesta tiedostoon /var/lib/pstore lisäanalyysiä varten;
  • Timedatectl-apuohjelmaan on lisätty uusia komentoja systemd-timesyncd:n NTP-parametrien määrittämiseen verkkoliitäntöjen suhteen;
  • "localectl list-locales" -komento ei enää näytä muita alueita kuin UTF-8;
  • Varmistaa, että muuttujan määritysvirheet sysctl.d/-tiedostoissa ohitetaan, jos muuttujan nimi alkaa merkillä "-";
  • Työkalut systemd-random-seed.service on nyt täysin vastuussa Linux-ytimen näennäissatunnaislukugeneraattorin entropiapoolin alustamisesta. Palvelut, jotka vaativat oikein alustetun /dev/urandom, tulee käynnistää systemd-random-seed.service jälkeen;
  • Systemd-boot boot loader tarjoaa valinnaisen mahdollisuuden tukea siementiedosto satunnaisessa järjestyksessä EFI-järjestelmäosissa (ESP);
  • Bootctl-apuohjelmaan on lisätty uusia komentoja: "bootctl random-seed" luo siementiedoston ESP:hen ja "bootctl is-installed" tarkistaa systemd-boot-käynnistyslataimen asennuksen. bootctl on myös säädetty näyttämään varoituksia käynnistysmerkintöjen virheellisestä määrityksestä (esimerkiksi kun ytimen näköistiedosto poistetaan, mutta sen lataamista varten oleva merkintä jätetään);
  • Tarjoaa automaattisen swap-osion valinnan, kun järjestelmä menee lepotilaan. Osio valitaan sille määritetyn prioriteetin mukaan ja, jos prioriteetit ovat samat, vapaan tilan määrästä riippuen;
  • Lisätty avaintiedoston aikakatkaisuvaihtoehto tiedostoon /etc/crypttab määrittääksesi kuinka kauan salausavaimella varustettu laite odottaa ennen kuin se pyytää salasanaa salatun osion käyttämiseksi.
  • Lisätty IOWeight-vaihtoehto BFQ-aikataulun I/O-painon määrittämiseksi;
  • systemd-resolved lisäsi "tiukan" tilan DNS-over-TLS:lle ja otti käyttöön mahdollisuuden tallentaa välimuistiin vain positiiviset DNS-vastaukset ("Cache no-negative" ratkaistavassa.conf:ssa);
  • VXLAN-verkossa systemd-networkd on lisännyt GenericProtocolExtension-vaihtoehdon VXLAN-protokollalaajennusten mahdollistamiseksi. VXLAN- ja GENEVE-järjestelmille on lisätty IPDoNotFragment-vaihtoehto, joka määrittää lähtevien pakettien pirstoutumisen eston lipun.
  • Systemd-networkd:n "[Route]"-osiossa FastOpenNoCookie-vaihtoehto on näyttänyt mahdollistavan mekanismin TCP-yhteyksien nopeaan avaamiseen (TFO - TCP Fast Open, RFC 7413) yksittäisten reittien suhteen sekä TTLPropagate-vaihtoehdon. määrittääksesi TTL LSP (Label Switched Path ). "Tyyppi"-vaihtoehto tukee paikallisia, lähetys-, anycast-, multicast-, kaikkia ja xresolve-reititystiloja;
  • Systemd-networkd tarjoaa DefaultRouteOnDevice-vaihtoehdon "[Network]"-osiossa, joka määrittää automaattisesti oletusreitin tietylle verkkolaitteelle.
  • Systemd-networkd on lisännyt ProxyARP:n ja
    ProxyARPWifi välityspalvelimen ARP-käyttäytymisen asettamiseen, MulticastRouter reititysparametrien asettamiseen ryhmälähetystilassa, MulticastIGMPVersion IGMP (Internet Group Management Protocol) -version muuttamiseen monilähetystä varten;

  • Systemd-networkd on lisännyt FooOverUDP-tunneleille Local-, Peer- ja PeerPort-asetukset paikallisten ja etä-IP-osoitteiden sekä verkkoportin numeron määrittämiseksi. TUN-tunneleissa VnetHeader-vaihtoehto on lisätty GSO-tuen (Generic Segment Offload) määrittämiseksi.
  • Systemd-networkd:ssä [Match]-osion .network- ja .link-tiedostoihin on ilmestynyt Property-vaihtoehto, jonka avulla voit tunnistaa laitteet niiden ominaisuuksien perusteella udev;
  • Systemd-networkd:ssä tunneleille on lisätty AssignToLoopback-vaihtoehto, joka ohjaa, osoitetaanko tunnelin pää takaisinsilmukkalaitteelle “lo”;
  • systemd-networkd aktivoi IPv6-pinon automaattisesti, jos se on estetty sysctl:n kautta disable_ipv6 - IPv6 aktivoituu, jos IPv6-asetukset (staattinen tai DHCPv6) on määritetty verkkoliitännälle, muuten jo asetettu sysctl-arvo ei muutu;
  • .network-tiedostoissa CriticalConnection-asetus on korvattu KeepConfiguration-vaihtoehdolla, joka tarjoaa enemmän keinoja määrittää tilanteet ("kyllä", "staattinen", "dhcp-on-stop", "dhcp"), joissa systemd-networkd:n tulisi älä koske olemassa oleviin yhteyksiin käynnistyksen yhteydessä;
  • Haavoittuvuus korjattu CVE-2019-15718, joka johtuu D-Bus-liitännän pääsynvalvonnan puutteesta systemd-resolved. Ongelma sallii etuoikeutettujen käyttäjien suorittaa toimintoja, jotka ovat vain järjestelmänvalvojien käytettävissä, kuten muuttaa DNS-asetuksia ja ohjata DNS-kyselyitä rogu-palvelimeen.
  • Haavoittuvuus korjattu CVE-2019-9619liittyvät siihen, ettei pam_systemd ole otettu käyttöön ei-interaktiivisissa istunnoissa, mikä mahdollistaa aktiivisen istunnon huijauksen.

Lähde: opennet.ru

Lisää kommentti