systemd system manager utgivelse 249

Etter tre måneders utvikling presenteres utgivelsen av systemmanager systemd 249. Den nye utgivelsen gir muligheten til å definere brukere/grupper i JSON-format, stabiliserer Journal-protokollen, forenkler organiseringen av lasting av påfølgende diskpartisjoner, legger til muligheten til å koble BPF-programmer til tjenester, og implementerer identifikatorkartlegging av brukere i monterte partisjoner, en stor del av nye nettverksinnstillinger og muligheter for lansering av containere tilbys.

Hovedendringer:

  • Journalprotokollen er dokumentert og kan brukes i klienter i stedet for syslog-protokollen for lokal levering av loggposter. Journal-protokollen har vært implementert i lang tid og brukes allerede i enkelte klientbiblioteker, men den offisielle støtten har nettopp blitt annonsert.
  • Userdb og nss-systemd gir støtte for å lese flere brukerdefinisjoner som ligger i katalogene /etc/userdb/, /run/userdb/, /run/host/userdb/ og /usr/lib/userdb/, spesifisert i JSON-format. Det bemerkes at denne funksjonen vil gi en ekstra mekanisme for å opprette brukere i systemet, og gi det full integrasjon med NSS og /etc/shadow. JSON-støtte for bruker-/gruppeoppføringer vil også tillate ulike ressursadministrasjon og andre innstillinger å knyttes til brukere som pam_systemd og systemd-login gjenkjenner.
  • nss-systemd gir syntese av bruker-/gruppeoppføringer i /etc/shadow ved å bruke hashed-passord fra systemd-homed.
  • En mekanisme er implementert som forenkler organiseringen av oppdateringer ved å bruke diskpartisjoner som erstatter hverandre (en partisjon er aktiv, og den andre er reserve - oppdateringen kopieres til reservepartisjonen, hvoretter den blir aktiv). Hvis det er to root- eller /usr-partisjoner i diskbildet, og udev ikke har oppdaget tilstedeværelsen av 'root='-parameteren, eller behandler diskbilder spesifisert via alternativet "--image" i systemd-nspawn og systemd -dissect-verktøy, kan oppstartspartisjonen beregnes ved å sammenligne GPT-etiketter (forutsatt at GPT-etiketten nevner versjonsnummeret til partisjonens innhold og systemd vil velge partisjonen med de nyere endringene).
  • En BPFProgram-innstilling er lagt til tjenestefilene, som du kan organisere lasting av BPF-programmer inn i kjernen med og administrere dem med binding til spesifikke systemtjenester.
  • Systemd-fstab-generator og systemd-repart legger til muligheten til å starte opp fra disker som bare har en /usr-partisjon og ingen rotpartisjon (rotpartisjonen vil bli generert av systemd-repart under den første oppstarten).
  • I systemd-nspawn har "--private-user-chown"-alternativet blitt erstattet av det mer generiske alternativet "--private-user-ownership", som kan akseptere "chown"-verdier som ekvivalent med "-- private-user-chown", "off" for å deaktivere gamle innstillinger, "map" for å kartlegge bruker-IDer på monterte filsystemer og "auto" for å velge "map" hvis den nødvendige funksjonaliteten er tilstede i kjernen (5.12+) eller fall tilbake til en rekursiv oppfordring til "chown" ellers. Ved å bruke kartlegging kan du kartlegge én brukers filer på en montert fremmed partisjon til en annen bruker på gjeldende system, noe som gjør det enklere å dele filer mellom forskjellige brukere. I den systemd-homed bærbare hjemmekatalogmekanismen vil kartlegging tillate brukere å flytte hjemmekatalogene sine til eksterne medier og bruke dem på forskjellige datamaskiner som ikke har samme bruker-ID-oppsett.
  • I systemd-nspawn kan "--private-user"-alternativet nå bruke verdien "identity" for direkte å reflektere bruker-IDer når du setter opp et brukernavnområde, dvs. UID 0 og UID 1 i beholderen vil reflekteres i UID 0 og UID 1 på vertssiden, for å redusere angrepsvektorer (beholderen vil kun motta prosessmuligheter i navneområdet).
  • Alternativet "--bind-bruker" er lagt til systemd-nspawn for å videresende en brukerkonto som eksisterer i vertsmiljøet til beholderen (hjemmekatalogen er montert i beholderen, en bruker-/gruppeoppføring er lagt til og UID-tilordning utføres mellom beholderen og vertsmiljøet).
  • Lagt til støtte for å be om angi passord til systemd-ask-password og systemd-sysusers (passwd.hashed-password. og passwd.plaintext-password. ) ved å bruke mekanismen introdusert i systemd 247 for å sikkert overføre sensitive data ved å bruke mellomliggende filer i en separat katalog. Som standard aksepteres legitimasjon fra prosessen med PID1, som mottar dem, for eksempel fra containeradministrasjonsadministratoren, som lar deg konfigurere brukerpassordet ved første oppstart.
  • systemd-firstboot legger til støtte for å bruke sikker overføring av sensitive datamekanismer for å spørre etter ulike systemparametere, som kan brukes til å initialisere systeminnstillinger ved første oppstart av et containerbilde som ikke har de nødvendige innstillingene i /etc-katalogen.
  • PID 1-prosessen sikrer at både enhetsnavnet og beskrivelsen vises under oppstart. Du kan endre utdataene via «StatusUnitFormat=combined»-parameteren i system.conf eller kjernekommandolinjealternativet «systemd.status-unit-format=combined»
  • Alternativet "--image" er lagt til systemd-machine-id-setup og systemd-repart-verktøyene for å overføre en fil med en maskin-ID til et diskbilde eller for å øke størrelsen på et diskbilde.
  • En MakeDirectories-parameter er lagt til i partisjonskonfigurasjonsfilen som brukes av systemd-repart-verktøyet, som kan brukes til å lage vilkårlige kataloger i det opprettede filsystemet før det gjenspeiles i partisjonstabellen (for eksempel for å lage kataloger for monteringspunkter i rotpartisjonen slik at du umiddelbart kan montere partisjonen i skrivebeskyttet modus). For å kontrollere GPT-flagg i opprettede seksjoner, er de tilsvarende parametrene Flags, ReadOnly og NoAuto lagt til. CopyBlocks-parameteren har verdien "auto" for automatisk å velge gjeldende oppstartspartisjon som kilde når du kopierer blokker (for eksempel når du trenger å overføre din egen rotpartisjon til nye medier).
  • GPT implementerer "grow-file-system"-flagget, som ligner på x-systemd.growfs-monteringsalternativet og gir automatisk utvidelse av FS-størrelsen til grensene til blokkenheten hvis FS-størrelsen er mindre enn partisjonen. Flagget gjelder for filsystemer Ext3, XFS og Btrfs, og kan brukes på automatisk oppdagede partisjoner. Flagget er aktivert som standard for skrivbare partisjoner som er opprettet automatisk via systemd-repart. Alternativet GrowFileSystem er lagt til for å konfigurere flagget i systemd-repart.
  • /etc/os-release-filen gir støtte for nye IMAGE_VERSION- og IMAGE_ID-variabler for å bestemme versjonen og IDen til atomisk oppdaterte bilder. %M- og %A-spesifisatorene er foreslått for å erstatte spesifiserte verdier i forskjellige kommandoer.
  • Parameteren "--extension" er lagt til portablelectl-verktøyet for å aktivere portable systemutvidelsesbilder (for eksempel kan du distribuere bilder med tilleggstjenester integrert i rotpartisjonen gjennom dem).
  • Systemd-coredump-verktøyet gir utvinning av ELF build-id-informasjon ved generering av en kjernedump av en prosess, noe som kan være nyttig for å bestemme hvilken pakke en mislykket prosess tilhører hvis informasjon om navn og versjon av deb- eller rpm-pakker ble bygget inn i ELF-filene.
  • En ny maskinvarebase for FireWire (IEEE 1394)-enheter er lagt til udev.
  • I udev har tre endringer blitt lagt til "net_id" nettverksgrensesnittnavnvalgsskjemaet som bryter bakoverkompatibilitet: feil tegn i grensesnittnavn er nå erstattet med "_"; PCI hotplug spornavn for s390-systemer behandles i heksadesimal form; Bruk av opptil 65535 innebygde PCI-enheter er tillatt (tidligere ble numre over 16383 blokkert).
  • systemd-resolved legger til «home.arpa»-domenet til NTA-listen (Negative Trust Anchors), som anbefales for lokale hjemmenettverk, men ikke brukt i DNSSEC.
  • CPUAffinity-parameteren gir parsing av "%"-spesifikasjonene.
  • En ManageForeignRoutingPolicyRules-parameter er lagt til .network-filer, som kan brukes til å ekskludere systemd-networkd fra å behandle tredjeparts rutingpolicyer.
  • RequiredFamilyForOnline-parameteren er lagt til ".network"-filene for å fastslå tilstedeværelsen av en IPv4- eller IPv6-adresse som et tegn på at nettverksgrensesnittet er i "online"-tilstand. Networkctl gir en visning av "online"-statusen for hver lenke.
  • La til OutgoingInterface-parameter til .network-filer for å definere utgående grensesnitt ved konfigurering av nettverksbroer.
  • En gruppeparameter har blitt lagt til ".network"-filer, slik at du kan konfigurere en Multipath-gruppe for oppføringer i "[NextHop]"-delen.
  • Lagt til alternativene "-4" og "-6" til systemd-network-wait-online for å begrense tilkoblingsventer til kun IPv4 eller IPv6.
  • En RelayTarget-parameter er lagt til DHCP-serverinnstillingene, som bytter serveren til DHCP Ralay-modus. For ytterligere konfigurasjon av DHCP-reléet tilbys alternativene RelayAgentCircuitId og RelayAgentRemoteId.
  • ServerAddress-parameteren er lagt til DHCP-serveren, slik at du eksplisitt kan angi serverens IP-adresse (ellers velges adressen automatisk).
  • DHCP-serveren implementerer [DHCPServerStaticLease]-delen, som lar deg konfigurere statiske adressebindinger (DHCP-leieavtaler), spesifisere faste IP-bindinger til MAC-adresser og omvendt.
  • Innstillingen RestrictAddressFamilies støtter «ingen»-verdien, noe som betyr at tjenesten ikke vil ha tilgang til sockets for noen adressefamilie.
  • I ".network"-filene i delene [Address], [DHCPv6PrefixDelegation] og [IPv6Prefix] er støtte for RouteMetric-innstillingen implementert, som lar deg spesifisere metrikken for ruteprefikset som er opprettet for den angitte adressen.
  • nss-myhostname og systemd-resolved gir syntese av DNS-poster med adresser for verter med et spesielt navn "_outbound", som det alltid utstedes en lokal IP for, valgt i samsvar med standardrutene som brukes for utgående tilkoblinger.
  • I .network-filer, i "[DHCPv4]"-delen, er en standard aktiv RoutesToNTP-innstilling lagt til, som krever at du legger til en separat rute gjennom det gjeldende nettverksgrensesnittet for å få tilgang til NTP-serveradressen som er oppnådd for dette grensesnittet ved hjelp av DHCP (ligner på DNS , lar innstillingen deg garantere at trafikk til NTP-serveren vil bli rutet gjennom grensesnittet som denne adressen ble mottatt via).
  • Lagt til SocketBindAllow og SocketBindDeny-innstillinger for å kontrollere tilgangen til sockets bundet til gjeldende tjeneste.
  • For enhetsfiler er det implementert en betinget innstilling kalt ConditionFirmware, som lar deg lage sjekker som evaluerer fastvarefunksjoner, for eksempel arbeid på UEFI- og device.tree-systemer, samt sjekke kompatibilitet med visse enhetstre-funksjoner.
  • Implementerte ConditionOSRelease-alternativet for å sjekke feltene i /etc/os-release-filen. Når du definerer betingelser for kontroll av feltverdier, er operatørene "=", "!=", "<", "<=", ">=", ">" akseptable.
  • I hostnamectl-verktøyet frigjøres kommandoer som "get-xyz" og "set-xyz" fra "get" og "set" prefiksene, for eksempel i stedet for "hostnamectl get-hostname" og "hostnamectl "set-hostname" du kan bruke kommandoen “hostnamectl hostname” ”, tildelingen av en verdi som bestemmes ved å spesifisere et tilleggsargument (“hostnamectl hostname value”). Støtte for eldre kommandoer har blitt beholdt for å sikre kompatibilitet.
  • Systemd-detect-virt-verktøyet og ConditionVirtualization-innstillingen sikrer korrekt identifikasjon av Amazon EC2-miljøer.
  • LogLevelMax-innstillingen i enhetsfiler gjelder nå ikke bare for loggmeldinger generert av tjenesten, men også for PID 1-prosessmeldinger som omtaler tjenesten.
  • Gir muligheten til å inkludere SBAT-data (UEFI Secure Boot Advanced Targeting) i systemd-boot EFI PE-filer.
  • /etc/crypttab implementerer nye alternativer "hodeløs" og "passord-ekko" - den første lar deg hoppe over alle operasjoner knyttet til interaktiv be om passord og PIN-koder fra brukeren, og den andre lar deg konfigurere metoden for å vise passordinntasting (vis ingenting, vis tegn for tegn og vis stjerner). Alternativet "--echo" er lagt til systemd-ask-password for lignende formål.
  • systemd-cryptenroll, systemd-cryptsetup og systemd-homed har utvidet støtte for å låse opp krypterte LUKS2-partisjoner ved hjelp av FIDO2-tokens. Lagt til nye alternativer "--fido2-med-bruker-tilstedeværelse", "--fido2-med-bruker-verifisering" og "-fido2-med-klient-pin" for å kontrollere brukerens fysiske tilstedeværelse verifisering, verifisering og behovet for å gå inn en PIN-kode.
  • Lagt til "--user", "--system", "--merge" og "--file" alternativer til systemd-journal-gatewayd, på samme måte som journalctl-alternativene.
  • I tillegg til direkte avhengigheter mellom enheter spesifisert gjennom parameterne OnFailure og Slice, er støtte for implisitte inverse avhengigheter OnFailureOf og SliceOf lagt til, noe som kan være nyttig for eksempel for å bestemme alle enheter som er inkludert i slice.
  • Lagt til nye typer avhengigheter mellom enheter: OnSuccess og OnSuccessOf (det motsatte av OnFailure, kalt ved vellykket gjennomføring); PropagatesStopTo og StopPropagatedFrom (lar deg spre en enhets stopphendelse til en annen enhet); Upholds og UpheldBy (alternativ til Restart).
  • Systemd-ask-password-verktøyet har nå et "--emoji"-alternativ for å kontrollere utseendet til hengelåssymbolet (🔐) i passordinntastingslinjen.
  • Lagt til dokumentasjon på systemd kildetrestruktur.
  • For enheter er det lagt til en MemoryAvailable-egenskap, som viser hvor mye minne enheten har igjen før den når grensen satt gjennom parameterne MemoryMax, MemoryHigh eller MemoryAvailable.

Kilde: opennet.ru

Legg til en kommentar