systemd system manager udgivelse 248

Efter fire måneders udvikling præsenteres udgivelsen af ​​systemadministratoren systemd 248. Den nye udgivelse giver understøttelse af billeder til udvidelse af systemmapper, /etc/veritytab-konfigurationsfilen, systemd-cryptenroll-værktøjet, oplåsning af LUKS2 ved hjælp af TPM2-chips og FIDO2 tokens, kørende enheder i et isoleret IPC identifikatorrum, BATMAN-protokol til mesh-netværk, nftables-backend til systemd-nspawn. Systemd-oomd er blevet stabiliseret.

Vigtigste ændringer:

  • Konceptet med systemudvidelsesbilleder er blevet implementeret, som kan bruges til at udvide hierarkiet af mapperne /usr/ og /opt/ og tilføje yderligere filer under kørsel, selvom de angivne mapper er monteret skrivebeskyttet. Når et systemudvidelsesbillede er monteret, overlejres dets indhold på /usr/- og /opt/-hierarkiet ved hjælp af OverlayFS.

    Et nyt hjælpeprogram, systemd-sysext, er blevet foreslået til at forbinde, afbryde, se og opdatere billeder af systemudvidelser. For automatisk at forbinde allerede installerede billeder under opstart er tjenesten systemd-sysext.service blevet tilføjet. Tilføjet parameteren "SYSEXT_LEVEL=" til os-release-filen for at bestemme niveauet af understøttede systemudvidelser.

  • For enheder er indstillingen ExtensionImages blevet implementeret, som kan bruges til at linke systemudvidelsesbilleder til FS-navnerumshierarkiet for individuelle isolerede tjenester.
  • Tilføjet /etc/veritytab-konfigurationsfil for at konfigurere dataverifikation på blokniveau ved hjælp af dm-verity-modulet. Filformatet ligner /etc/crypttab - "section_name device_for_data device_for_hashes check_hash_root options." Tilføjet systemd.verity.root_options kerne kommandolinje mulighed for at konfigurere dm-verity adfærd for rodenheden.
  • systemd-cryptsetup tilføjer muligheden for at udtrække PKCS#11-token-URI og krypterede nøgle fra LUKS2-metadata-headeren i JSON-format, hvilket gør det muligt at integrere information om åbning af en krypteret enhed i selve enheden uden at involvere eksterne filer.
  • systemd-cryptsetup giver understøttelse til oplåsning af LUKS2-krypterede partitioner ved hjælp af TPM2-chips og FIDO2-tokens, foruden tidligere understøttede PKCS#11-tokens. Indlæsning af libfido2 sker via dlopen(), dvs. tilgængelighed kontrolleres med det samme, snarere end som en fastkablet afhængighed.
  • Nye muligheder "no-write-workqueue" og "no-read-workqueue" er blevet tilføjet til /etc/crypttab for systemd-cryptsetup for at muliggøre synkron behandling af I/O forbundet med kryptering og dekryptering.
  • Systemd-repart-værktøjet har tilføjet muligheden for at aktivere krypterede partitioner ved hjælp af TPM2-chips, for eksempel for at skabe en krypteret /var-partition ved første opstart.
  • Systemd-cryptenroll-værktøjet er blevet tilføjet til at binde TPM2-, FIDO2- og PKCS#11-tokens til LUKS-partitioner, samt for at frigøre og se tokens, binde reservenøgler og indstille en adgangskode for adgang.
  • Tilføjet PrivateIPC-parameteren, som giver dig mulighed for at konfigurere enhedsfilen til at køre processer i et isoleret IPC-rum med deres egne separate identifikatorer og beskedkø. For at forbinde en enhed til et allerede oprettet IPC identifikatorrum, foreslås IPCNamespacePath-indstillingen.
  • Tilføjede indstillinger for ExecPaths og NoExecPaths for at tillade, at noexec-flaget kan anvendes på bestemte dele af filsystemet.
  • systemd-networkd tilføjer understøttelse af BATMAN (Better Approach To Mobile Adhoc Networking) mesh-protokollen, som tillader oprettelsen af ​​decentraliserede netværk, hvor hver node er forbundet gennem tilstødende noder. Til konfiguration foreslås [BatmanAdvanced]-sektionen i .netdev, BatmanAdvanced-parameteren i .network-filer og en ny enhedstype "batadv".
  • Implementeringen af ​​den tidlige responsmekanisme for lav hukommelse i systemd-oomd-systemet er blevet stabiliseret. Tilføjet indstillingen DefaultMemoryPressureDurationSec for at konfigurere ventetiden på, at en ressource frigives, før den påvirker en enhed. Systemd-oomd bruger PSI (Pressure Stall Information) kerneundersystemet og giver dig mulighed for at opdage starten af ​​forsinkelser på grund af mangel på ressourcer og selektivt afslutte ressourcekrævende processer på et tidspunkt, hvor systemet endnu ikke er i en kritisk tilstand og ikke begynde at trimme cachen intensivt og forskyde data til en swap-partition.
  • Tilføjet kerne-kommandolinjeparameter "root=tmpfs", som giver dig mulighed for at montere rodpartitionen i midlertidigt lager placeret i RAM ved hjælp af Tmpfs.
  • Parameteren /etc/crypttab, der specificerer nøglefilen, kan nu pege på sockettyperne AF_UNIX og SOCK_STREAM. I dette tilfælde skal nøglen opgives ved tilslutning til stikkontakten, som fx kan bruges til at lave tjenester, der dynamisk udsteder nøgler.
  • Reserveværtsnavnet til brug af systemadministratoren og systemd-hostnamed kan nu indstilles på to måder: gennem parameteren DEFAULT_HOSTNAME i os-release og gennem miljøvariablen $SYSTEMD_DEFAULT_HOSTNAME. systemd-hostnamed håndterer også "localhost" i værtsnavnet og tilføjer muligheden for at eksportere værtsnavnet samt egenskaberne "HardwareVendor" og "HardwareModel" via DBus.
  • Blokken med eksponerede miljøvariabler kan nu konfigureres gennem den nye ManagerEnvironment-indstilling i system.conf eller user.conf, og ikke kun gennem kernens kommandolinje og enhedsfilindstillinger.
  • På kompileringstidspunktet er det muligt at bruge fexecve()-systemkaldet til at starte processer i stedet for execve() for at reducere forsinkelsen mellem kontrol af sikkerhedskonteksten og anvendelse af den.
  • For enhedsfiler er nye betingede operationer ConditionSecurity=tpm2 og ConditionCPUFeature blevet tilføjet for at kontrollere tilstedeværelsen af ​​TPM2-enheder og individuelle CPU-kapaciteter (f.eks. kan ConditionCPUFeature=rdrand bruges til at kontrollere, om processoren understøtter RDRAND-operationen).
  • For tilgængelige kerner er automatisk generering af systemkaldstabeller til seccomp-filtre blevet implementeret.
  • Tilføjet muligheden for at erstatte nye bind-mounts i eksisterende mount-navneområder for tjenester uden at genstarte tjenesterne. Substitution udføres med kommandoerne 'systemctl bind ...' og 'systemctl mount-image …'.
  • Tilføjet understøttelse til at angive stier i StandardOutput og StandardError-indstillingerne i formen "truncate: » til rengøring før brug.
  • Tilføjet muligheden for at etablere en forbindelse til en specificeret brugers session i en lokal container til sd-bus. For eksempel "systemctl -bruger -M lennart@ start quux".
  • Følgende parametre er implementeret i systemd.link-filerne i [Link]-sektionen:
    • Promiskuøs - giver dig mulighed for at skifte enheden til "promiskuøs" tilstand for at behandle alle netværkspakker, inklusive dem, der ikke er adresseret til det aktuelle system;
    • TransmitQueues og ReceiveQueues til indstilling af antallet af TX- og RX-køer;
    • TransmitQueueLength for at indstille TX-køstørrelsen; GenericSegmentOffloadMaxBytes og GenericSegmentOffloadMaxSegment til at sætte grænser for brugen af ​​GRO (Generic Receive Offload) teknologi.
  • Nye indstillinger er blevet tilføjet til systemd.network-filer:
    • [Netværk] RouteTable for at vælge en routingtabel;
    • [RoutingPolicyRule] Indtast routingtypen ("sort hul, "uopnåelig", "forbud");
    • [IPv6AcceptRA] RouteDenyList og RouteAllowList for lister over tilladte og nægtede rutereklamer;
    • [DHCPv6] Brug adresser til at ignorere adressen udstedt af DHCP;
    • [DHCPv6PrefixDelegation] ManageTemporaryAddress;
    • ActivationPolicy til at definere politikken vedrørende grænsefladeaktivitet (oprethold altid OP- eller NED-tilstand, eller tillade brugeren at ændre tilstande med kommandoen "ip link set dev").
  • Tilføjet [VLAN]-protokol, IngressQOSMaps, EgressQOSMaps og [MACVLAN] BroadcastMulticastQueueLength-indstillinger til systemd.netdev-filer for at konfigurere VLAN-pakkehåndtering.
  • Stoppet med at montere /dev/-mappen i noexec-tilstand, da det forårsager en konflikt ved brug af det eksekverbare flag med /dev/sgx-filer. For at returnere den gamle adfærd kan du bruge indstillingen NoExecPaths=/dev.
  • /dev/vsock-filtilladelserne er blevet ændret til 0o666, og /dev/vhost-vsock- og /dev/vhost-net-filerne er blevet flyttet til kvm-gruppen.
  • Hardware-ID-databasen er blevet udvidet med USB-fingeraftrykslæsere, der understøtter dvaletilstand korrekt.
  • systemd-løst tilføjet support til at udstede svar på DNSSEC-forespørgsler via en stub-resolver. Lokale klienter kan udføre DNSSEC-validering på sig selv, mens eksterne klienter proxes uændret til den overordnede DNS-server.
  • Tilføjet indstillingen CacheFromLocalhost til resolved.conf, når den er indstillet, vil systemd-resolved bruge caching selv for opkald til DNS-serveren på 127.0.0.1 (som standard er caching af sådanne anmodninger deaktiveret for at undgå dobbelt caching).
  • systemd-resolved tilføjer understøttelse af RFC-5001 NSID'er i den lokale DNS-resolver, hvilket giver klienter mulighed for at skelne mellem interaktioner med den lokale resolver og en anden DNS-server.
  • Resolvectl-værktøjet implementerer muligheden for at vise information om datakilden (lokal cache, netværksanmodning, lokal processorsvar) og brugen af ​​kryptering ved overførsel af data. Indstillingerne --cache, --synthesize, --network, --zone, --trust-anchor og --validate er tilvejebragt for at kontrollere navnebestemmelsesprocessen.
  • systemd-nspawn tilføjer understøttelse til at konfigurere en firewall ved hjælp af nftables ud over den eksisterende iptables-understøttelse. IPMasquerade-opsætningen i systemd-networkd har tilføjet muligheden for at bruge en nftables-baseret backend.
  • systemd-lokaliseret tilføjet understøttelse til at kalde locale-gen for at generere manglende lokaliteter.
  • Indstillinger --pager/-no-pager/-json= er blevet tilføjet til forskellige hjælpeprogrammer for at aktivere/deaktivere personsøgningstilstand og output i JSON-format. Tilføjet muligheden for at indstille antallet af farver, der bruges i terminalen via miljøvariablen SYSTEMD_COLORS ("16" eller "256").
  • Bygningen med separate mappehierarkier (split / og /usr) og cgroup v1-understøttelse er blevet forældet.
  • Mastergrenen i Git er blevet omdøbt fra 'master' til 'main'.

Kilde: opennet.ru

Tilføj en kommentar