Uitgave van de systeembeheerder systemd 249

Na drie maanden ontwikkeling is de release van de systeembeheerder systemd 249 gepresenteerd. In deze nieuwe versie is het mogelijk om gebruikers/groepen in JSON-formaat te definiëren, is het Journal-protocol gestabiliseerd, is de organisatie van het opstarten van afwisselende schijfpartities vereenvoudigd, is de mogelijkheid toegevoegd om BPF-programma's aan services te koppelen, is er mapping van gebruikersidentificaties in aangekoppelde partities geïmplementeerd, en zijn er een aantal nieuwe netwerkinstellingen en mogelijkheden voor het opstarten van containers voorgesteld.

Belangrijkste wijzigingen:

  • Het Journal-protocol is gedocumenteerd, dat in clients kan worden gebruikt in plaats van het syslog-protocol voor lokale aflevering van logberichten. Het Journal-protocol is al enige tijd geïmplementeerd en wordt reeds gebruikt in sommige clientbibliotheken, maar de officiële ondersteuning is pas nu aangekondigd.
  • In userdb en nss-systemd is het mogelijk gemaakt om extra gebruikersdefinities te lezen, die zijn geplaatst in de mappen /etc/userdb/, /run/userdb/, /run/host/userdb/ en /usr/lib/userdb/, ingesteld in JSON-formaat. Er wordt opgemerkt dat deze mogelijkheid een extra mechanisme zal bieden voor het creëren van gebruikers in het systeem, met volledige integratie met NSS en /etc/shadow. Ondersteuning voor het JSON-formaat voor gebruikers/groepen zal ook toestaan om verschillende resourcebeheerparameters en andere instellingen te koppelen aan gebruikers, die herkend worden door pam_systemd en systemd-logind.
  • In nss-systemd is de synthese van gebruikers-/groeprecords in /etc/shadow mogelijk gemaakt met gebruik van gehashte wachtwoorden uit systemd-homed.
  • Er is een mechanisme geïmplementeerd dat het organiseren van updates vereenvoudigt met gebruik van afwisselende schijfpartities (één partitie actief, terwijl de andere als reserve – de update wordt naar de reservepartitie gekopieerd, waarna deze actief wordt). Als er twee root- of /usr-partities in het schijfmodel aanwezig zijn, en udev heeft de parameter 'root=' niet gedefinieerd of als er schijfmodellen worden verwerkt die zijn opgegeven met de optie "--image" in de tools systemd-nspawn en systemd-dissect, kan de te laden partitie worden berekend door het vergelijken van GPT-labels (ervan uitgaande dat het GPT-label het versienummer van de inhoud van de partitie vermeldt en systemd de partitie met de nieuwste wijzigingen kiest).
  • In de servicebestanden is een instelling BPFProgram toegevoegd, waarmee je BPF-programma's in de kernel kunt laden en deze kunt beheren met een binding aan specifieke systemd-services.
  • In systemd-fstab-generator en systemd-repart is de mogelijkheid toegevoegd om op schijven te starten waar alleen een /usr-partitie aanwezig is en geen root-partitie (de root-partitie wordt gegenereerd door de tool systemd-repart tijdens de eerste opstart).
  • In systemd-nspawn is de optie "—private-user-chown" vervangen door een meer algemene variant "—private-user-ownership", die waarden kan aannemen zoals "chown" als equivalent van "—private-user-chown", "off" om de oude instelling uit te schakelen, "map" voor het mappen van gebruikers-id's in gemounte bestandssystemen en "auto" voor het kiezen van "map" indien de benodigde functionaliteit in de kernel aanwezig is (5.12+) of anders terugvallen op een recursieve aanroep van "chown". Door middel van mappen kunnen de bestanden van één gebruiker op een gemounte externe schijf worden gekoppeld aan een andere gebruiker in het huidige systeem, wat het delen van bestanden tussen verschillende gebruikers vergemakkelijkt. In het mechanisme van draagbare thuismappen systemd-homed maakt het mappen het gebruikers mogelijk om hun thuismappen naar externe opslagmedia te verplaatsen en deze op verschillende computers te gebruiken waar de indeling van gebruikers-id's niet overeenkomt.
  • In systemd-nspawn kan in de optie "—private-user" nu de waarde "identity" worden gebruikt voor een directe weergave van de gebruikers-id's bij het instellen van de naamruimten (user namespace), d.w.z. UID 0 en UID 1 in de container worden weergegeven als UID 0 en UID 1 aan de hostzijde, om de aanvalsvectors te verkorten (de container krijgt alleen procesrechten in zijn eigen naamruimte).
  • In systemd-nspawn is de optie "—bind-user" toegevoegd voor het doorgeven van een gebruikeraccount naar de container, bestaande in de hostomgeving (de thuismap wordt in de container gemonteerd, een gebruikers/groepenrecord wordt toegevoegd en er wordt een mapping van UID tussen de container en de hostomgeving uitgevoerd).
  • In systemd-ask-password en systemd-sysusers is ondersteuning toegevoegd voor het aanvragen van ingestelde wachtwoorden (passwd.hashed-password. en passwd.plaintext-password.) via het in release systemd 247 verschenen mechanisme voor veilige overdracht van gevoelige gegevens met behulp van tussenbestanden in een aparte map. Standaard worden de gegevens aangenomen van het proces met PID1, dat ze bijvoorbeeld ontvangt van de containerbeheermanager, waardoor de configuratie van het gebruikerswachtwoord bij de eerste opstart kan worden georganiseerd.
  • In systemd-firstboot is ondersteuning toegevoegd voor het gebruik van het mechanisme voor veilige overdracht van gevoelige gegevens om verschillende systeemparameters aan te vragen, wat kan worden toegepast voor het initialiseren van systeeminstellingen bij de eerste opstart van een container-image zonder de noodzakelijke instellingen in de map /etc.
  • Tijdens het opstarten is het mogelijk om tegelijkertijd de naam en beschrijving van de eenheid weer te geven in proces PID 1. De uitvoer kan worden gewijzigd via de parameter "StatusUnitFormat=combined" in system.conf of de optie voor de kernelopdrachtregel "systemd.status-unit-format=combined".
  • In de hulpprogramma's systemd-machine-id-setup en systemd-repart is de optie "—image" toegevoegd voor het doorgeven van een bestand met de machine-id naar schijfimages of voor het vergroten van de grootte van de schijfimage.
  • In het configuratiebestand voor partities, dat door de utility systemd-repart wordt gebruikt, is de parameter MakeDirectories toegevoegd, die kan worden gebruikt voor het aanmaken van willekeurige mappen in het te creëren bestandssysteem vóór reflectie in de partitie-tabel (bijvoorbeeld om mappen voor montagemogelijkheden in de hoofdpartitie aan te maken, zodat het mogelijk is om de partitie meteen in alleen-lezen modus te monteren). Voor het beheren van GPT-vlaggen in de gemaakte partities zijn de bijbehorende parameters Flags, ReadOnly en NoAuto toegevoegd. In de parameter CopyBlocks is de waarde "auto" geïmplementeerd voor het automatisch selecteren van de huidige opstartpartitie als bron bij het kopiëren van blokken (bijvoorbeeld wanneer het nodig is om de eigen root-partitie naar een nieuw opslagmedium te verplaatsen).
  • In GPT is implemented the flag "grow-file-system", similar to the mount option x-systemd.growfs, which provides automatic expansion of the filesystem size to the limits of the block device if the filesystem size is smaller than the partition. The flag is applicable to Ext3, XFS, and Btrfs filesystems and can be used with automatically detected partitions. The flag is enabled by default for writable partitions automatically created via systemd-repart. An option GrowFileSystem has been added in systemd-repart to configure the flag.
  • In the file /etc/os-release, support has been added for new variables IMAGE_VERSION and IMAGE_ID to specify the version and identifier of atomically updated images. Specifiers %M and %A have been proposed for substituting the specified values into various commands.
  • The portablectl utility has added the parameter "--extension" to activate portable system extension images (for example, through which images with additional services integrated into the root partition can be distributed).
  • In the systemd-coredump utility, extraction of ELF build-id information when generating a core dump of a process has been implemented, which may be useful for determining to which package the crashed process belongs if the name and version information of the deb- or rpm-packages have been embedded in the ELF files.
  • A new hardware database for FireWire (IEEE 1394) devices has been added to udev.
  • Three changes compromising backward compatibility have been added to the network interface name selection scheme "net_id" in udev: incorrect characters in interface names are now replaced with "_"; PCI hotplug slot names for s390 systems are processed in hexadecimal number form; up to 65535 built-in PCI devices are allowed (previously, numbers above 16383 were blocked).
  • In systemd-resolved, the domain "home.arpa" has been added to the NTA (Negative Trust Anchors) list, recommended for local home networks but not used in DNSSEC.
  • The CPUAffinity parameter now supports parsing of the specifiers "%".
  • The parameter ManageForeignRoutingPolicyRules has been added to ".network" files, which can be used to exclude the handling of third-party routing policies in systemd-networkd.
  • The parameter RequiredFamilyForOnline has been added to ".network" files to determine the existence of an IPv4 or IPv6 address as an indication of the network interface being in the "online" state. The networkctl utility now displays the "online" status for each link.
  • In de bestanden «.network» is de parameter OutgoingInterface toegevoegd om de uitgaande interfaces te definiëren bij het configureren van netwerkmemory.
  • In de bestanden «.network» is de parameter Group toegevoegd, waarmee een Multipath-groep voor de vermeldingen in de sectie «[NextHop]» kan worden ingesteld.
  • In systemd-network-wait-online zijn de opties «-4» en «-6» toegevoegd om de verbindingstijd te beperken tot alleen IPv4 of IPv6.
  • In de configuratie van de DHCP-server is de parameter RelayTarget toegevoegd, waarmee de server in de DHCP Relay-modus wordt geplaatst. Voor aanvullende configuratie van de DHCP-relay zijn de opties RelayAgentCircuitId en RelayAgentRemoteId aangeboden.
  • In de DHCP-server is de parameter ServerAddress toegevoegd, waarmee het IP-adres van de server expliciet kan worden ingesteld (anders wordt het adres automatisch gekozen).
  • In de DHCP-server is de sectie [DHCPServerStaticLease] geïmplementeerd, waarmee statische IP-koppelingen (DHCP leases) kunnen worden ingesteld door vaste IP-koppelingen aan MAC-adressen en omgekeerd op te geven.
  • In de configuratie RestrictAddressFamilies is ondersteuning voor de waarde «none» geïmplementeerd, waarbij de service geen sockets van welke adresfamilie dan ook kan toegang krijgen.
  • In de bestanden «.network» in de secties [Address], [DHCPv6PrefixDelegation] en [IPv6Prefix] is ondersteuning voor het configureren van RouteMetric geïmplementeerd, waarmee de metric voor het routeprefix dat voor een opgegeven adres is gemaakt kan worden opgegeven.
  • In nss-myhostname en systemd-resolved is DNS-recordsynthese met adressen voor hosts met de speciale naam «_outbound» geïmplementeerd, waarvoor altijd een lokaal IP wordt toegewezen, gekozen in overeenstemming met de standaardroutes die worden gebruikt voor uitgaande verbindingen.
  • In de bestanden .network is onder de sectie «[DHCPv4]» een standaard actieve configuratie RoutesToNTP toegevoegd, die voorschrijft een aparte route toe te voegen via de huidige netwerkinterface voor toegang tot het NTP-serveradres, verkregen voor deze interface via DHCP (in overeenstemming met de DNS-configuratie, zorgt dit ervoor dat het verkeer naar de NTP-server via de interface gaat waarop dit adres is verkregen).
  • Instellingen SocketBindAllow en SocketBindDeny zijn toegevoegd voor het beheer van de toegang tot sockets die aan de huidige service zijn gebonden.
  • Voor unit-bestanden is een voorwaardelijke instelling ConditionFirmware geïmplementeerd, waarmee controles kunnen worden uitgevoerd om de firmwarefuncties te evalueren, zoals functioneren op UEFI-systemen en device.tree, en om compatibiliteit met bepaalde mogelijkheden van de device-tree te controleren.
  • De optie ConditionOSRelease is geïmplementeerd om velden in het bestand /etc/os-release te controleren. Bij het bepalen van de voorwaarden voor het controleren van de veldwaarden zijn de operators «=», «!=», «<», «=», «>» toegestaan.
  • In de tool hostnamectl zijn de commando's van het type «get-xyz» en «set-xyz» ontdaan van de prefixen «get» en «set», bijvoorbeeld in plaats van «hostnamectl get-hostname» en «hostnamectl set-hostname» kan het commando «hostnamectl hostname» worden gebruikt, waarbij de toekenning van een waarde wordt bepaald door het opgeven van een extra argument («hostnamectl hostname value»). De ondersteuning voor oude commando's is behouden voor compatibiliteit.
  • In de tool systemd-detect-virt en de instelling ConditionVirtualization is een correcte identificatie van Amazon EC2-omgevingen gewaarborgd.
  • De instelling LogLevelMax in unit-bestanden wordt nu niet alleen toegepast op logberichten die door de service zijn aangemaakt, maar ook op berichten van proces PID 1 die de service vermelden.
  • De mogelijkheid is geboden om SBAT-gegevens (UEFI Secure Boot Advanced Targeting) op te nemen in systemd-boot EFI PE-bestanden.
  • In /etc/crypttab zijn de nieuwe opties «headless» en «password-echo» geïmplementeerd — de eerste stelt gebruikers in staat om alle operaties met interactieve wachtwoord- en PIN-verzoeken over te slaan, terwijl de tweede de mogelijkheid biedt om de methode van wachtwoordinvoerweergave in te stellen (niets tonen, teken voor teken tonen en sterren weergeven). In systemd-ask-password is de optie «—echo» toegevoegd voor vergelijkbare doeleinden.
  • In systemd-cryptenroll, systemd-cryptsetup en systemd-homed is de ondersteuning voor het ontgrendelen van versleutelde LUKS2-partities met FIDO2-tokens uitgebreid. Nieuwe opties «—fido2-with-user-presence», «—fido2-with-user-verification» en «—fido2-with-client-pin» zijn toegevoegd om de controle over de fysieke aanwezigheid van de gebruiker, verificatie en de noodzaak om een PIN-code in te voeren te beheren.
  • In systemd-journal-gatewayd zijn de opties «—user», «—system», «—merge» en «—file» toegevoegd, overeenkomstig dezelfde opties in journalctl.
  • Naast directe afhankelijkheden tussen units, die worden ingesteld via de parameters OnFailure en Slice, is ondersteuning toegevoegd voor impliciete omgekeerde afhankelijkheden OnFailureOf en SliceOf, die nuttig kunnen zijn voor het identificeren van alle units die in een slice vallen.
  • Er zijn nieuwe type afhankelijkheden tussen units toegevoegd: OnSuccess en OnSuccessOf (het tegenovergestelde van OnFailure, dat wordt geactiveerd bij een succesvolle afronding); PropagatesStopTo en StopPropagatedFrom (die het stopgebeuren van een unit naar een andere unit kunnen verspreiden); Upholds en UpheldBy (alternatief voor Restart).
  • In de utility systemd-ask-password is de optie "--emoji" toegevoegd voor het beheren van het verschijnen van het sloticoon (🔐) in de invoerregel voor wachtwoorden.
  • Documentatie is toegevoegd over de structuur van de bronbestanden van systemd.
  • Voor unit's is de eigenschap MemoryAvailable toegevoegd, die aangeeft hoeveel geheugen er nog beschikbaar is voor de unit voordat de limiet die is ingesteld met de parameters MemoryMax, MemoryHigh of MemoryAvailable wordt bereikt.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster