Systemd Systemd Manager eldono 243

Post kvin monatoj da evoluo prezentita eldono de la sistemmanaĝero systemd 243. Inter la novigoj, ni povas noti la integriĝon en PID 1 de prizorganto por malalta memoro en la sistemo, subtenon por alligi viajn proprajn BPF-programojn por filtri unuotrafikon, multajn novajn eblojn por systemd-networkd, reĝimon por monitori la larĝan bandon de reto. interfacoj, ebligante defaŭlte sur 64-bitaj sistemoj 22-bitaj PID-nombroj anstataŭe de 16-bita, transiro al unuigita cgroups-hierarkio, inkludo en systemd-network-generator.

Ĉefaj ŝanĝoj:

  • Rekono de kerno-generitaj signaloj pri senmemoro (Out-Of-Memory, OOM) estis aldonita al la PID 1 prizorganto por transdoni unuojn kiuj atingis la memorkonsumlimon en specialan staton kun la laŭvola kapablo devigi ilin ĉesigi. aŭ halti;
  • Por unuodosieroj, novaj parametroj IPIngressFilterPath kaj
    IPEgressFilterPath, kiu permesas vin konekti BPF-programojn kun arbitraj pritraktiloj por filtri envenajn kaj elirantajn IP-pakojn generitajn de procezoj asociitaj kun ĉi tiu unuo. La proponitaj funkcioj permesas krei specon de fajroŝirmilo por sistemaj servoj. Ekzemplo de skribado simpla retfiltrilo bazita sur BPF;

  • La "pura" komando estis aldonita al la systemctl ilo por forigi la kaŝmemoron, rultempajn dosierojn, statusajn informojn kaj protokolojn;
  • systemd-networkd aldonas subtenon por MACsec, nlmon, IPVTAP kaj Xfrm-retaj interfacoj;
  • systemd-networkd efektivigas apartan agordon de DHCPv4 kaj DHCPv6 stakoj tra la "[DHCPv4]" kaj "[DHCPv6]" sekcioj en la agorda dosiero. Aldonis la opcion RoutesToDNS por aldoni apartan itineron al la DNS-servilo specifita en la parametroj ricevitaj de la DHCP-servilo (por ke trafiko al la DNS estu sendita per la sama ligo kiel la ĉefa itinero ricevita de la DHCP). Novaj opcioj estis aldonitaj por DHCPv4: MaxAttempts - maksimuma nombro da petoj por akiri adreson, BlackList - nigra listo de DHCP-serviloj, SendRelease - ebligi sendi mesaĝojn de DHCP RELEASE kiam la sesio finiĝas;
  • Novaj komandoj estis aldonitaj al la systemd-analyze ilo:
    • "systemd-analyze timestamp" - tempo-analizo kaj konvertiĝo;
    • "systemd-analyze timespan" - analizo kaj konvertiĝo de tempoperiodoj;
    • “systemd-analyze condition” - analizado kaj testado de ConditionXYZ-esprimoj;
    • "systemd-analyze exit-status" - analizado kaj konvertado de elirkodoj de nombroj al nomoj kaj inverse;
    • "systemd-analyze unit-files" - Listigas ĉiujn dosiervojojn por unuoj kaj unuokaŝnomoj.
  • Opcioj SuccessExitStatus, RestartPreventExitStatus kaj
    RestartForceExitStatus nun subtenas ne nur numerajn revenkodojn, sed ankaŭ iliajn tekstajn identigilojn (ekzemple, "DATAERR"). Vi povas vidi la liston de kodoj asignitaj al identigiloj uzante la komandon "systemd-analyze exit-status";

  • La komando "forigi" estis aldonita al la utileco networkctl por forigi virtualajn retajn aparatojn, same kiel la opcion "—stats" por montri statistikojn pri aparato;
  • SpeedMeter kaj SpeedMeterIntervalSec-agordoj estis aldonitaj al networkd.conf por periode mezuri la trairon de retaj interfacoj. Statistikoj akiritaj de la mezurrezultoj estas videblaj en la eligo de la komando 'networkctl status';
  • Aldonita nova utileco systemd-network-generator por generi dosierojn
    .network, .netdev kaj .link bazitaj sur IP-agordoj pasitaj kiam lanĉitaj per la Linukso-kerna komandlinio en Dracut-agorda formato;

  • La sysctl "kernel.pid_max" valoro sur 64-bitaj sistemoj nun estas agordita defaŭlte al 4194304 (22-bitaj PIDoj anstataŭ 16-bitaj), kiu reduktas la verŝajnecon de kolizioj dum asignado de PIDoj, pliigas la limon sur la nombro de samtempe. kurantaj procezoj, kaj havas pozitivan efikon sur sekureco. La ŝanĝo eble povus konduki al kongruaj problemoj, sed tiaj aferoj ankoraŭ ne estis raportitaj en la praktiko;
  • Defaŭlte, la konstrustadio ŝanĝas al la unuigita hierarkio cgroups-v2 ("-Ddefault-hierarchy=unuigita"). Antaŭe, la defaŭlta estis hibrida reĝimo ("-Ddefault-hierarchy=hibrido");
  • La konduto de la sistemvoka filtrilo (SystemCallFilter) estis ŝanĝita, kiu, en la kazo de malpermesita sistemvoko, nun finas la tutan procezon, prefere ol individuaj fadenoj, ĉar fini individuajn fadenojn povus konduki al neantaŭvideblaj problemoj. La ŝanĝoj validas nur se vi havas Linuksan kernon 4.14+ kaj libseccomp 2.4.0+;
  • Senprivilegiaj programoj ricevas la eblon sendi ICMP Echo (ping) pakaĵetojn fiksante la sysctl "net.ipv4.ping_group_range" por la tuta gamo da grupoj (por ĉiuj procezoj);
  • Por akceli la konstruprocezon, la generacio de man-manlibroj estis ĉesigita defaŭlte (por konstrui plenan dokumentaron, vi devas uzi la opcion "-Dman=vera" aŭ "-Dhtml=vera" por manlibroj en formato html). Por plifaciligi la rigardadon de la dokumentaro, estas inkluzivitaj du skriptoj: build/man/man kaj build/man/html por generi kaj antaŭrigardi interesajn manlibrojn;
  • Por prilabori domajnajn nomojn kun signoj el naciaj alfabetoj, la biblioteko libidn2 estas uzata defaŭlte (por redoni libidn, uzu la opcion "-Dlibidn=vera");
  • Subteno por la rulebla dosiero /usr/sbin/halt.local, kiu disponigis funkciecon kiu ne estis vaste distribuita en distribuoj, estis nuligita. Por organizi la lanĉon de komandoj ĉe malŝalto, oni rekomendas uzi skriptojn en /usr/lib/systemd/system-shutdown/ aŭ difini novan unuon kiu dependas de final.target;
  • En la lasta etapo de malŝalto, systemd nun aŭtomate pliigas la protokolo-nivelon en la sysctl "kernel.printk", kiu solvas la problemon kun montrado en la protokolo de eventoj, kiuj okazis en la postaj stadioj de malŝalto, kiam la regulaj protokoloj jam finiĝis. ;
  • En journalctl kaj aliaj utilecoj montrantaj protokoloj, avertoj estas emfazitaj flave, kaj reviziaj registroj estas elstarigitaj en bluo por videble reliefigi ilin el la homamaso;
  • En la mediovariablo $PATH, la vojo al bin/ nun venas antaŭ la vojo al sbin/, t.e. se estas identaj nomoj de ruleblaj dosieroj en ambaŭ dosierujoj, la dosiero de bin/ estos ekzekutita;
  • systemd-logind provizas SetBrightness() alvokon por sekure ŝanĝi la ekranan brilon laŭ sesia bazo;
  • La flago "--wait-for-initialization" estis aldonita al la komando "udevadm info" por atendi ke la aparato pravaloriĝos;
  • Dum sistema ekfunkciigo, PID 1 prizorganto nun montras la nomojn de unuoj anstataŭ linio kun ilia priskribo. Por reveni al pasinta konduto, vi povas uzi la opcion StatusUnitFormat en /etc/systemd/system.conf aŭ la opcion de kerno systemd.status_unit_format;
  • Aldonita KExecWatchdogSec opcio al /etc/systemd/system.conf por gardohundo PID 1, kiu specifas la tempodaŭron por rekomenco uzante kexec. Malnova agordo
    ShutdownWatchdogSec estis renomita al RebootWatchdogSec kaj difinas tempodaŭron por laboroj dum ĉesigo aŭ normala rekomenco;

  • Nova opcio estis aldonita por servoj Execkondiĉo, kiu permesas al vi specifi komandojn kiuj estos ekzekutitaj antaŭ ExecStartPre. Surbaze de la erarkodo resendita de la komando, decido estas farita pri plua ekzekuto de la unuo - se kodo 0 estas resendita, la unuo-lanĉo daŭras, se de 1 ĝis 254 ĝi silente finiĝas sen malsukcesa flago, se 255 ĝi finiĝas per malsukcesa flago;
  • Aldonita nova servo systemd-pstore.service por ĉerpi datumojn de sys/fs/pstore/ kaj de konservado al /var/lib/pstore por plia analizo;
  • Novaj komandoj estis aldonitaj al la ilo timedatectl por agordi NTP-parametrojn por systemd-timesyncd rilate al retaj interfacoj;
  • La komando "localectl list-locales" ne plu montras lokojn krom UTF-8;
  • Certigas, ke eraroj de varia asignado en sysctl.d/ dosieroj estas ignoritaj se la variablo nomo komenciĝas per la signo “-“;
  • servo systemd-random-seed.service nun tute respondecas pri pravalorigo de la entropia aro de la Linuksa kerno pseŭdohazarda nombrogeneratoro. Servoj kiuj postulas ĝuste pravigitan /dev/urandom devus esti komencitaj post systemd-random-seed.service;
  • La systemd-boot ekŝargilo provizas la laŭvolan kapablon subteni semdosiero kun hazarda sekvenco en la EFI System Partition (ESP);
  • Novaj komandoj estis aldonitaj al la bootctl-ilaĵo: "bootctl random-seed" por generi seman dosieron en la ESP kaj "bootctl is-installed" por kontroli la instaladon de la systemd-boot bootloader. bootctl ankaŭ estis ĝustigita por montri avertojn pri malĝusta agordo de lanĉaj eniroj (ekzemple, kiam la kernbildo estas forigita, sed la eniro por ŝargi ĝin estas lasita);
  • Provizas aŭtomatan elekton de la interŝanĝa sekcio kiam la sistemo iras en dormreĝimon. La sekcio estas elektita depende de la prioritato agordita por ĝi, kaj en la kazo de identaj prioritatoj, la kvanto de libera spaco;
  • Aldonita keyfile-timeout opcio al /etc/crypttab por agordi kiom longe la aparato kun la ĉifrada ŝlosilo atendos antaŭ peti pasvorton por aliri la ĉifritan sekcion;
  • Aldonita IOWeight-opcio por agordi la I/O-pezon por la BFQ-planilo;
  • systemd-resolved aldonis "strikta" reĝimo por DNS-over-TLS kaj efektivigis la kapablon konservi nur pozitivajn DNS-respondojn ("Kaŝmemoro ne-negativa" en resolved.conf);
  • Por VXLAN, systemd-networkd aldonis GenericProtocolExtension-opcion por ebligi VXLAN-protokoletendojn. Por VXLAN kaj GENEVE, la opcio IPDoNotFragment estis aldonita por agordi la malpermesan flagon de fragmentiĝo por elirantaj pakoj;
  • En systemd-networkd, en la sekcio "[Itinero]", la opcio FastOpenNoCookie aperis por ebligi la mekanismon por rapide malfermi TCP-ligojn (TFO - TCP Fast Open, RFC 7413) rilate al individuaj itineroj, same kiel la opcion TTLPropagate. por agordi TTL LSP (Label Switched Path). La opcio "Tipo" provizas subtenon por lokaj, elsendo, anycast, multicast, ajna kaj xresolve vojreĝimoj;
  • Systemd-networkd ofertas opcion DefaultRouteOnDevice en la sekcio "[Reto]" por aŭtomate agordi defaŭltan itineron por difinita reta aparato;
  • Systemd-networkd aldonis ProxyARP kaj
    ProxyARPWifi por agordi prokuran ARP-konduton, MulticastRouter por agordi vojajn parametrojn en multicast-reĝimo, MulticastIGMPVersion por ŝanĝi la IGMP (Internet Group Management Protocol) version por multirolantaro;

  • Systemd-networkd aldonis Lokalajn, Peer kaj PeerPort-opciojn por FooOverUDP-tuneloj por agordi la lokajn kaj forajn IP-adresojn, same kiel la retan havenon-numeron. Por TUN-tuneloj, la opcio VnetHeader estis aldonita por agordi GSO (Generic Segment Offload) subtenon;
  • En systemd-networkd, en la dosieroj .network kaj .link en la sekcio [Match], aperis opcio Propraĵo, kiu ebligas identigi aparatojn laŭ iliaj specifaj propraĵoj en udev;
  • En systemd-networkd, AssignToLoopback opcio estis aldonita por tuneloj, kiu kontrolas ĉu la fino de la tunelo estas asignita al la loopback aparato "lo";
  • systemd-networkd aŭtomate aktivigas la IPv6-stakon se ĝi estas blokita per sysctl disable_ipv6 - IPv6 estas aktivigita se IPv6-agordoj (senmovaj aŭ DHCPv6) estas difinitaj por la reto-interfaco, alie la jam fiksita sysctl-valoro ne ŝanĝiĝas;
  • En .network-dosieroj, la agordo CriticalConnection estis anstataŭigita per la opcio KeepConfiguration, kiu provizas pli da rimedoj por difini situaciojn ("jes", "senmova", "dhcp-on-stop", "dhcp") en kiuj systemd-networkd devus. ne tuŝu ekzistantajn konektojn kiam ekfunkciigas;
  • Vundebleco riparita CVE-2019-15718, kaŭzita de manko de alirkontrolo al la D-Bus-interfaco systemd-solvita. La problemo permesas al senprivilegia uzanto fari operaciojn, kiuj estas nur disponeblaj por administrantoj, kiel ŝanĝi DNS-agordojn kaj direkti DNS-demandojn al friponeca servilo;
  • Vundebleco riparita CVE-2019-9619rilata al ne ebligado de pam_systemd por ne-interagaj sesioj, kio ebligas falsadon de la aktiva sesio.

fonto: opennet.ru

Aldoni komenton