Systemd System Manager versió 243

Després de cinc mesos de desenvolupament presentat llançament del gestor del sistema systemd 243. Entre les innovacions, podem destacar la integració al PID 1 d'un controlador per a poca memòria al sistema, suport per adjuntar els vostres propis programes BPF per filtrar el trànsit unitari, nombroses opcions noves per systemd-networkd, un mode per controlar l'ample de banda de la xarxa. interfícies, habilitant de manera predeterminada en sistemes de 64 bits números PID de 22 bits en lloc de 16 bits, transició a una jerarquia unificada de cgroups, inclusió en systemd-network-generator.

Principals canvis:

  • El reconeixement dels senyals generats pel nucli sobre la falta de memòria (Out-Of-Memory, OOM) s'ha afegit al controlador PID 1 per transferir les unitats que han assolit el límit de consum de memòria a un estat especial amb la capacitat opcional de forçar-les a finalitzar. o parar;
  • Per als fitxers d'unitats, nous paràmetres IPIngressFilterPath i
    IPEgressFilterPath, que permet connectar programes BPF amb controladors arbitraris per filtrar els paquets IP entrants i sortints generats pels processos associats a aquesta unitat. Les característiques proposades us permeten crear una mena de tallafocs per als serveis de sistema. Exemple d'escriptura un filtre de xarxa senzill basat en BPF;

  • S'ha afegit l'ordre "neteja" a la utilitat systemctl per eliminar la memòria cau, els fitxers d'execució, la informació d'estat i els directoris de registre;
  • systemd-networkd afegeix suport per a les interfícies de xarxa MACsec, nlmon, IPVTAP i Xfrm;
  • systemd-networkd implementa una configuració separada de les piles DHCPv4 i DHCPv6 mitjançant les seccions "[DHCPv4]" i "[DHCPv6]" del fitxer de configuració. S'ha afegit l'opció RoutesToDNS per afegir una ruta independent al servidor DNS especificat als paràmetres rebuts del servidor DHCP (de manera que el trànsit al DNS s'enviï a través del mateix enllaç que la ruta principal rebuda del DHCP). S'han afegit noves opcions per a DHCPv4: MaxAttempts - nombre màxim de sol·licituds per obtenir una adreça, BlackList - llista negra de servidors DHCP, SendRelease - habilitar l'enviament de missatges DHCP RELEASE quan finalitzi la sessió;
  • S'han afegit noves ordres a la utilitat systemd-analyze:
    • "systemd-analyze timestamp" - anàlisi i conversió de temps;
    • "systemd-analyze timespan" - anàlisi i conversió de períodes de temps;
    • "systemd-analyze condition" - anàlisi i prova d'expressions ConditionXYZ;
    • "systemd-analyze exit-status" - anàlisi i conversió de codis de sortida de números a noms i viceversa;
    • "systemd-analyze unit-files" - Llista tots els camins de fitxer per a les unitats i els àlies d'unitats.
  • Opcions SuccessExitStatus, RestartPreventExitStatus i
    RestartForceExitStatus ara admet no només codis de retorn numèrics, sinó també els seus identificadors de text (per exemple, "DATAERR"). Podeu veure la llista de codis assignats als identificadors mitjançant l'ordre "sytemd-analyze exit-status";

  • S'ha afegit l'ordre "suprimir" a la utilitat networkctl per eliminar dispositius de xarxa virtual, així com l'opció "—stats" per mostrar les estadístiques del dispositiu;
  • La configuració de SpeedMeter i SpeedMeterIntervalSec s'ha afegit a networkd.conf per mesurar periòdicament el rendiment de les interfícies de xarxa. Les estadístiques obtingudes dels resultats de la mesura es poden veure a la sortida de l'ordre 'networkctl status';
  • S'ha afegit una nova utilitat systemd-network-generator per generar fitxers
    .network, .netdev i .link basats en la configuració IP passat quan es va llançar mitjançant la línia d'ordres del nucli de Linux en format de configuració de Dracut;

  • El valor sysctl "kernel.pid_max" en sistemes de 64 bits ara s'estableix per defecte a 4194304 (PID de 22 bits en lloc de 16 bits), que redueix la probabilitat de col·lisions en assignar PID, augmenta el límit del nombre de simultàniament. processos en execució i té un impacte positiu en la seguretat. El canvi podria provocar problemes de compatibilitat, però aquests problemes encara no s'han informat a la pràctica;
  • Per defecte, l'etapa de creació canvia a la jerarquia unificada cgroups-v2 ("-Ddefault-hierarchy=unified"). Anteriorment, el mode predeterminat era el mode híbrid ("-Ddefault-hierarchy=hybrid");
  • S'ha canviat el comportament del filtre de trucades del sistema (SystemCallFilter), que, en el cas d'una trucada de sistema prohibida, ara acaba tot el procés, en lloc de fils individuals, ja que la finalització de fils individuals podria provocar problemes impredictibles. Els canvis només s'apliquen si teniu Linux kernel 4.14+ i libseccomp 2.4.0+;
  • Els programes sense privilegis tenen la possibilitat d'enviar paquets ICMP Echo (ping) configurant el sysctl "net.ipv4.ping_group_range" per a tot el rang de grups (per a tots els processos);
  • Per accelerar el procés de creació, la generació de manuals man s'ha aturat per defecte (per crear documentació completa, cal que utilitzeu l'opció "-Dman=true" o "-Dhtml=true" per als manuals en format html). Per facilitar la visualització de la documentació, s'inclouen dos scripts: build/man/man i build/man/html per generar i previsualitzar manuals d'interès;
  • Per processar noms de domini amb caràcters d'alfabets nacionals, s'utilitza per defecte la biblioteca libidn2 (per retornar libidn, utilitzeu l'opció “-Dlibidn=true”);
  • El suport per al fitxer executable /usr/sbin/halt.local, que proporcionava una funcionalitat que no es distribuïa àmpliament a les distribucions, s'ha interromput. Per organitzar el llançament d'ordres quan s'apaga, es recomana utilitzar scripts a /usr/lib/systemd/system-shutdown/ o definir una nova unitat que depèn de final.target;
  • A l'última etapa de l'aturada, systemd ara augmenta automàticament el nivell de registre al sysctl "kernel.printk", que soluciona el problema de mostrar els esdeveniments de registre que es van produir en les etapes posteriors de l'aturada, quan els dimonis de registre habituals ja s'han completat. ;
  • A journalctl i altres utilitats que mostren registres, els avisos es ressalten en groc i els registres d'auditoria es destaquen en blau per ressaltar-los visualment entre la multitud;
  • A la variable d'entorn $PATH, el camí a bin/ ara arriba abans que el camí a sbin/, és a dir. si hi ha noms idèntics de fitxers executables als dos directoris, s'executarà el fitxer de bin/;
  • systemd-logind proporciona una crida SetBrightness() per canviar de manera segura la brillantor de la pantalla per sessió;
  • S'ha afegit el senyalador "--wait-for-initialization" a l'ordre "udevadm info" per esperar que el dispositiu s'inicialitzi;
  • Durant l'arrencada del sistema, el controlador PID 1 ara mostra els noms de les unitats en lloc d'una línia amb la seva descripció. Per tornar al comportament anterior, podeu utilitzar l'opció StatusUnitFormat a /etc/systemd/system.conf o l'opció del nucli systemd.status_unit_format;
  • S'ha afegit l'opció KExecWatchdogSec a /etc/systemd/system.conf per al PID 1 del gos de vigilància, que especifica el temps d'espera per reiniciar amb kexec. Ambient antic
    ShutdownWatchdogSec s'ha canviat de nom a RebootWatchdogSec i defineix un temps d'espera per als treballs durant l'aturada o el reinici normal;

  • S'ha afegit una nova opció per als serveis Condició d'execució, que us permet especificar ordres que s'executaran abans d'ExecStartPre. A partir del codi d'error retornat per l'ordre, es pren una decisió sobre l'execució posterior de la unitat: si es retorna el codi 0, el llançament de la unitat continua, si de l'1 al 254 acaba en silenci sense un senyal de fallada, si 255 acaba amb una bandera de fallada;
  • S'ha afegit un nou servei systemd-pstore.service per extreure dades de sys/fs/pstore/ i desar a /var/lib/pstore per a una anàlisi posterior;
  • S'han afegit noves ordres a la utilitat timedatectl per configurar els paràmetres NTP per a systemd-timesyncd en relació amb les interfícies de xarxa;
  • L'ordre "localctl list-locales" ja no mostra locals diferents d'UTF-8;
  • Assegura que els errors d'assignació de variables als fitxers sysctl.d/ s'ignoren si el nom de la variable comença amb el caràcter “-“;
  • Servei systemd-random-seed.service ara és completament responsable d'iniciar el conjunt d'entropia del generador de números pseudoaleatoris del nucli de Linux. Els serveis que requereixen un /dev/urandom correctament inicialitzat s'han d'iniciar després de systemd-random-seed.service;
  • El carregador d'arrencada systemd-boot ofereix la capacitat opcional de suport fitxer de llavors amb seqüència aleatòria a la partició del sistema EFI (ESP);
  • S'han afegit noves ordres a la utilitat bootctl: "bootctl random-seed" per generar un fitxer llavor a l'ESP i "bootctl is-installed" per comprovar la instal·lació del carregador d'arrencada systemd-boot. bootctl també s'ha ajustat per mostrar advertències sobre la configuració incorrecta de les entrades d'arrencada (per exemple, quan s'elimina la imatge del nucli, però es deixa l'entrada per carregar-la);
  • Proporciona la selecció automàtica de la partició d'intercanvi quan el sistema entra en mode de repòs. La partició es selecciona en funció de la prioritat configurada per a ella i, en el cas de prioritats idèntiques, de la quantitat d'espai lliure;
  • S'ha afegit l'opció keyfile-timeout a /etc/crypttab per establir quant de temps esperarà el dispositiu amb la clau de xifratge abans de demanar una contrasenya per accedir a la partició xifrada;
  • S'ha afegit l'opció IOWeight per establir el pes d'E/S per al planificador BFQ;
  • systemd-resolved va afegir el mode "estricte" per a DNS-over-TLS i va implementar la capacitat d'emmagatzemar a la memòria cau només respostes DNS positives ("Cache no-negative" a resolved.conf);
  • Per a VXLAN, systemd-networkd ha afegit una opció GenericProtocolExtension per habilitar les extensions de protocol VXLAN. Per a VXLAN i GENEVE, s'ha afegit l'opció IPDoNotFragment per establir la bandera de prohibició de fragmentació per als paquets sortints;
  • A systemd-networkd, a la secció "[Route]", ha aparegut l'opció FastOpenNoCookie per habilitar el mecanisme d'obertura ràpida de connexions TCP (TFO - TCP Fast Open, RFC 7413) en relació a rutes individuals, així com l'opció TTLPropagate per configurar TTL LSP (Label Switched Path). L'opció "Tipus" proporciona suport per als modes d'encaminament local, broadcast, anycast, multicast, any i xresolve;
  • Systemd-networkd ofereix una opció DefaultRouteOnDevice a la secció "[Xarxa]" per configurar automàticament una ruta predeterminada per a un dispositiu de xarxa determinat;
  • Systemd-networkd ha afegit ProxyARP i
    ProxyARPWifi per configurar el comportament del proxy ARP, MulticastRouter per configurar els paràmetres d'encaminament en mode multicast, MulticastIGMPVersion per canviar la versió IGMP (Internet Group Management Protocol) per multicast;

  • Systemd-networkd ha afegit opcions Local, Peer i PeerPort per als túnels FooOverUDP per configurar les adreces IP locals i remotes, així com el número de port de xarxa. Per als túnels TUN, s'ha afegit l'opció VnetHeader per configurar el suport GSO (Generic Segment Offload);
  • A systemd-networkd, als fitxers .network i .link de la secció [Coincidència], ha aparegut una opció de propietat, que permet identificar els dispositius per les seves propietats específiques a udev;
  • A systemd-networkd, s'ha afegit una opció AssignToLoopback per als túnels, que controla si el final del túnel està assignat al dispositiu de loopback "lo";
  • systemd-networkd activa automàticament la pila d'IPv6 si està bloquejada mitjançant sysctl disable_ipv6 - IPv6 s'activa si la configuració IPv6 (estàtica o DHCPv6) està definida per a la interfície de xarxa, en cas contrari, el valor sysctl ja establert no canvia;
  • Als fitxers .network, la configuració de CriticalConnection s'ha substituït per l'opció KeepConfiguration, que proporciona més mitjans per definir situacions ("sí", "estàtica", "dhcp-on-stop", "dhcp") en les quals systemd-networkd hauria de no tocar les connexions existents a l'inici;
  • Vulnerabilitat arreglada CVE-2019-15718, causat per la manca de control d'accés a la interfície D-Bus systemd-resolt. El problema permet que un usuari sense privilegis realitzi operacions que només estan disponibles per als administradors, com ara canviar la configuració del DNS i dirigir consultes DNS a un servidor canalla;
  • Vulnerabilitat arreglada CVE-2019-9619relacionat amb no habilitar pam_systemd per a sessions no interactives, cosa que permet la falsificació de la sessió activa.

Font: opennet.ru

Afegeix comentari