Efter fem mÄnaders utveckling utgivning av systemhanteraren . Bland nyheterna kan nÀmnas integrationen av en hanterare för minnesbrist i systemet i PID 1, stöd för att bifoga egna BPF-program för filtrering av enheternas trafik, mÀngder av nya alternativ för systemd-networkd, övervakningslÀge för bandbredden pÄ nÀtverksgrÀnssnitt, och standardanvÀndning av 22-bitars PID-nummer istÀllet för 16-bitars pÄ 64-bitars system, samt övergÄng till en enhetlig hierarki av cgroups, inklusive systemd-network-generator.
Huvudsakliga förÀndringar:
- I hanteraren PID 1 har det lagts till erkÀnnande av kÀrnsgenererade signaler angÄende minnesbrist (Out-Of-Memory, OOM) för att överföra enheter som nÄtt en minnesgrÀns till ett specifikt tillstÄnd med möjlighet till tvingad avslutning eller stopp.
- För unit-filer har nya parametrar introducerats: IPIngressFilterPath och
IPEgressFilterPath, vilka möjliggör anslutning av BPF-program med godtyckliga hanterare för att filtrera inkommande och utgÄende IP-paket som genereras av processer relaterade till denna enhet. De föreslagna funktionerna möjliggör skapandet av en slags brandvÀggar för systemd-tjÀnster. ett enkelt nÀtverksfilter baserat pÄ BPF; - I systemctl-verktyget har kommandot "clean" lagts till för att ta bort cache, runtime-filer, statusinformation och loggkataloger;
- I systemd-networkd har stöd lagts till för nÀtverksgrÀnssnitt som MACsec, nlmon, IPVTAP och Xfrm;
- I systemd-networkd har separat konfigurering av DHCPv4- och DHCPv6-stacken genomförts via sektionerna "[DHCPv4]" och "[DHCPv6]" i konfigurationsfilen. En ny alternativ RoutesToDNS har lagts till för att lÀgga till en separat vÀg till DNS-servern, angiven i parametrarna som mottagits frÄn DHCP-servern (sÄ att trafiken till DNS skickas genom samma lÀnk som den huvudvÀg som mottogs frÄn DHCP). För DHCPv4 har nya alternativ lagts till: MaxAttempts - det maximala antalet förfrÄgningar om att hÀmta en adress, BlackList - en lista över blockerade DHCP-servrar, SendRelease - aktivering av sÀndning av DHCP RELEASE-meddelanden vid sessionens slut;
- I verktyget systemd-analyze har nya kommandon lagts till:
- "systemd-analyze timestamp" - tolkning och omvandling av tid;
- "systemd-analyze timespan" - tolkning och omvandling av tidsintervall;
- "systemd-analyze condition" - tolkning och test av uttryck ConditionXYZ;
- "systemd-analyze exit-status" - tolkning och omvandling av avslutningskoder frÄn nummer till namn och vice versa;
- «systemd-analyze unit-files» â visar en lista över alla filvĂ€gar för enheter och enhetsalias.
- Alternativen SuccessExitStatus, RestartPreventExitStatus och
RestartForceExitStatus stöder nu inte bara numeriska returkoder utan Ă€ven deras textidentifierare (till exempel «DATAERR»). Du kan se listan över kopplade koder till identifierare med kommandot «systemd-analyze exit-status»; - Verktyget networkctl har fĂ„tt kommandot «delete» för att ta bort virtuella nĂ€tverksenheter, samt alternativet «âstats» för att visa statistik över enheterna;
- I networkd.conf har instĂ€llningarna SpeedMeter och SpeedMeterIntervalSec lagts till för att periodiskt mĂ€ta bandbredden pĂ„ nĂ€tverksgrĂ€nssnitten. Statistiken som erhĂ„lls frĂ„n mĂ€tningarna kan ses i utdata frĂ„n kommandot ânetworkctl statusâ;
- En ny utility systemd-network-generator har lagts till för att generera filer
.network, .netdev och .link baserat pÄ IP-instÀllningar som skickas vid systemstart via kommandoraden för Linux-kÀrnan i Dracut-instÀllningsformat; - VÀrdet sysctl «kernel.pid_max» pÄ 64-bitarsystem sÀtts nu som standard till 4194304 (22-bitars PID istÀllet för 16-bitars), vilket minskar risken för kollisioner vid tilldelning av PID, ökar grÀnsen för antalet samtidigt körda processer och har en positiv effekt pÄ sÀkerheten. Denna förÀndring kan potentiellt leda till kompatibilitetsproblem, men i praktiken har det Ànnu inte rapporterats nÄgra sÄdana problem;
- Som standard har övergÄngen till en enhetlig hierarki för cgroups-v2 genomförts under byggsteget (»-Ddefault-hierarchy=unified«). Tidigare var hybridlÀge standard (»-Ddefault-hierarchy=hybrid«);
- Beteendet hos systemanropfilter (SystemCallFilter) har Ă€ndrats, sĂ„ att vid anrop av ett förbjudet systemanrop nu hela processen avslutas, istĂ€llet för enskilda trĂ„dar, eftersom avslutning av enskilda trĂ„dar kan leda till oförutsĂ€gbara problem. Ăndringarna gĂ€ller endast om kĂ€rnan Linux 4.14+ och libseccomp 2.4.0+ finns;
- Icke-privilegierade program har fÄtt möjlighet att skicka ICMP Echo-paket (ping) genom att sÀtta sysctl «net.ipv4.ping_group_range» för hela gruppintervallet (för alla processer);
- För att snabba upp byggprocessen har genereringen av man-sidor stÀngts av som standard (för att bygga fullstÀndig dokumentation, anvÀnd alternativet «-Dman=true» eller «-Dhtml=true» för HTML-format man-sidor). För att underlÀtta visningen av dokumentation har vi inkluderat tvÄ skript build/man/man och build/man/html för att generera och förhandsgranska relevanta handböcker;
- För att hantera domÀnnamn med tecken frÄn nationella alfabeten anvÀnds som standard biblioteket libidn2 (för att ÄtergÄ till libidn, anvÀnd alternativet «-Dlibidn=true»);
- Stöd för körbar fil /usr/sbin/halt.local har avbrutits, eftersom den inte blev tillrÀckligt spridd i distributionerna. För att organisera körning av kommandon vid avstÀngning rekommenderas det att anvÀnda skript i /usr/lib/systemd/system-shutdown/ eller definiera en ny enhet beroende av final.target;
- I det sista skedet av avstÀngningen ökar systemd nu automatiskt loggnivÄn i sysctl «kernel.printk», vilket löser problemet med visning av logghÀndelser som intrÀffade under de senaste stadierna av avstÀngningen, nÀr de normala loggtjÀnsterna redan har avslutats;
- I journalctl och andra loggvisningsverktyg har varningar markerats med gult, och revisionsposterna med blÄtt för att visuellt sÀrskilja dem frÄn mÀngden;
- I miljövariabeln $PATH kommer sökvÀgen till bin/ nu före vÀgen till sbin/, dvs. om samma namn för körbara filer finns i bÄda katalogerna, kommer filen frÄn bin/ att köras;
- I systemd-logind har anropet SetBrightness() lagts till för sÀker Àndring av skÀrmens ljusstyrka för varje session;
- Flaggan «--wait-for-initialization» har lagts till kommandot «udevadm info» för att vÀnta pÄ att enhetens initiering ska slutföras;
- Vid systemstart skriver PID 1 ut namnen pÄ enheterna pÄ skÀrmen istÀllet för beskrivningen av dem. För att ÄtergÄ till det tidigare beteendet kan alternativet StatusUnitFormat anvÀndas i /etc/systemd/system.conf eller kernel-parametern systemd.status_unit_format;
- I /etc/systemd/system.conf har alternativet KExecWatchdogSec lagts till för watchdog i PID 1, vilket definierar tidsgrÀnsen för omstart med hjÀlp av kexec. Den gamla instÀllningen
ShutdownWatchdogSec har döpts om till RebootWatchdogSec och definierar tidsgrÀnsen för operationer vid avstÀngning eller normal omstart; - För tjÀnster har ett nytt alternativ lagts till , som lÄter dig ange kommandon som kommer att köras före ExecStartPre. Baserat pÄ den kod som kommandot returnerar fattas beslut om enhetens fortsatta körning - om koden Àr 0 fortsÀtter enheten att starta, om den Àr mellan 1 och 254 avslutas den tyst utan att registrera ett fel, om den Àr 255 avslutas den med en felregistrering;
- En ny tjÀnst, systemd-pstore.service, har lagts till för att hÀmta data frÄn sys/fs/pstore/ och spara dem i /var/lib/pstore för vidare analys;
- Nya kommandon har lagts till verktyget timedatectl för att konfigurera NTP-parametrar för systemd-timesyncd kopplade till nÀtverksgrÀnssnitt;
- Visningen av lokaler som inte Àr UTF-8 har avbrutits i kommandot «localectl list-locales»;
- Fel vid tilldelning av variabler i sysctl.d/-filer ignoreras om variabelnamnet börjar med tecknet «-«;
- TjÀnsten ansvarar nu helt för att initiera poolen av entropi för kÀrnans pseudorandomgenerator. TjÀnster som krÀver en korrekt initierad /dev/urandom mÄste starta efter systemd-random-seed.service;
- I bootloadern systemd-boot har en valfri möjlighet för support sÀkerstÀllts med en slumpmÀssig sekvens i EFI System Partition (ESP);
- Nya kommandon har lagts till verktyget bootctl: «bootctl random-seed» för att generera seed-filen i ESP och «bootctl is-installed» för att kontrollera installationen av bootloadern systemd-boot. I bootctl har Àven varningar för felaktig konfiguration av boot-poster introducerats (t.ex. nÀr kÀrnans bild har raderats men boot-posten lÀmnats kvar);
- Automatisk val av vÀxlingspartition har sÀkerstÀllts nÀr systemet gÄr i vilolÀge. Partitionen vÀljs baserat pÄ den prioritet som tilldelats den, och vid lika prioriteringar - mÀngden ledigt utrymme;
- I /etc/crypttab har alternativet keyfile-timeout lagts till för att ange vÀntetiden för enheten med krypteringsnyckeln innan förfrÄgan om lösenord för Ätkomst till den krypterade partitionen visas;
- Alternativet IOWeight har lagts till för att stÀlla in vikt för in/ut-data för BFQ-schemalÀggaren;
- I systemd-resolved har en strikt ('strict') driftslÀge för DNS-over-TLS lagts till och möjligheten att cacha endast positiva DNS-svar ('Cache no-negative' i resolved.conf) har implementerats;
- För VXLAN i systemd-networkd har alternativet GenericProtocolExtension lagts till för att aktivera VXLAN-protokollets tillÀgg. För VXLAN och GENEVE har alternativet IPDoNotFragment lagts till för att stÀlla in fragmenteringsflaggan för utgÄende paket;
- I systemd-networkd har sektionen "[Route]" fÄtt alternativet FastOpenNoCookie för att aktivera mekanismen för snabb öppning av TCP-anslutningar (TFO - TCP Fast Open, RFC 7413) kopplat till specifika rutter, samt alternativet TTLPropagate för att konfigurera TTL LSP (Label Switched Path). Alternativet "Type" stöder routningslÀgena local, broadcast, anycast, multicast, any och xresolve;
- I systemd-networkd har sektionen "[Network]" fÄtt alternativet DefaultRouteOnDevice för automatisk konfiguration av standardrutt för den angivna nÀtverksenheten;
- I systemd-networkd har alternativ föreslagits för nÀtverksbroar: ProxyARP och
ProxyARPWifi för att konfigurera proxy ARP-beteende, MulticastRouter för att stÀlla in routningsparametrar i multicast-lÀge, MulticastIGMPVersion för att Àndra versionen av IGMP (Internet Group Management Protocol) för multicast; - I systemd-networkd har alternativ för FooOverUDP-tunnlar lagts till: Local, Peer och PeerPort för att konfigurera IP-adresser för lokala och fjÀrrsidor samt nÀtverksportnummer. För TUN-tunnlar har alternativet VnetHeader lagts till för att konfigurera stöd för GSO (Generic Segment Offload);
- I systemd-networkd har sektionen [Match] i .network- och .link-filer fÄtt alternativet Property, vilket möjliggör identifiering av enheter baserat pÄ specifika egenskaper i udev;
- I systemd-networkd har alternativet AssignToLoopback lagts till för tunnlar, vilket styr bindningen av tunneln till loopback-enheten "lo";
- I systemd-networkd har aktiveringen av IPv6-stacken automatiserats om den blockeras via sysctl disable_ipv6 â IPv6 aktiveras om nĂ€tverksgrĂ€nssnittet har IPv6-instĂ€llningar (statisk eller DHCPv6), annars Ă€ndras inte det redan angivna vĂ€rdet för sysctl;
- I .network-filer har instÀllningen CriticalConnection ersatts av alternativet KeepConfiguration, vilket ger fler resurser för att definiera situationer ("yes", "static", "dhcp-on-stop", "dhcp") dÀr systemd-networkd inte bör röra vid befintliga anslutningar vid uppstart;
- SÀkerhetsbrist ÄtgÀrdad , orsakad av avsaknad av Ätkomstkontroll till systemd-resolveds D-Bus-grÀnssnitt. Problemet tillÄter icke-behöriga anvÀndare att utföra operationer som endast Àr tillgÀngliga för administratörer, till exempel att Àndra DNS-instÀllningar och styra DNS-förfrÄgningar till en falsk server;
- SÀkerhetsbrist ÄtgÀrdad , relaterad till avstÀngningen av pam_systemd för icke-interaktiva sessioner, vilket möjliggör förstöra ett aktivt sessions-id.
KĂ€lla: opennet.ru
