systemd 245 beschikbaar met draagbare homedirectory-implementatie

Na drie maanden ontwikkeling ingediend systeembeheerder release systemd 245. In de nieuwe release zijn nieuwe componenten systemd-homed en systemd-repart toegevoegd, is ondersteuning voor draagbare gebruikersprofielen in JSON-formaat inbegrepen, is de mogelijkheid geboden om naamruimten in systemd-journald te definiëren en is ondersteuning voor het “pidfd”-mechanisme toegevoegd . Volledig opnieuw ontworpen project site, dat de meeste beschikbare documentatie verzamelt en een nieuw logo voorstelt.

systemd 245 beschikbaar met draagbare homedirectory-implementatie

De belangrijkste veranderingen:

  • Toegevoegde dienst systemd-homed, dat het beheer van draagbare homemappen mogelijk maakt, geleverd in de vorm van een aangekoppeld afbeeldingsbestand, waarvan de gegevens zijn gecodeerd. Met Systemd-homed kunt u op zichzelf staande omgevingen creëren voor gebruikersgegevens die kunnen worden overgedragen tussen verschillende systemen, zonder dat u zich zorgen hoeft te maken over identificatiesynchronisatie en vertrouwelijkheid. Gebruikersgegevens zijn gekoppeld aan de thuismap in plaats van aan de systeeminstellingen. Er wordt een profiel in de indeling gebruikt in plaats van /etc/passwd, /etc/group en /etc/shadow JSON. Voor meer details, zie laatste aankondiging systemd-homed.
  • Systemd-homed begeleidende component toegevoegd "gebruikerdb” (“systemd-userdb”), dat UNIX/glibc NSS-accounts vertaalt naar JSON-records en een uniforme Varlink API biedt voor het opvragen en herhalen van records. Het JSON-profiel dat aan de thuismap is gekoppeld, specificeert de parameters die vereist zijn voor het werk van de gebruiker, inclusief gebruikersnaam, wachtwoord-hash, coderingssleutels, quota's en ingerichte bronnen. Het profiel kan worden gecertificeerd met een digitale handtekening die is opgeslagen op een extern Yubikey-token. Om profielen te beheren, wordt het hulpprogramma “userdbctl” voorgesteld. Ondersteuning voor JSON-profielen is toegevoegd aan verschillende systemd-componenten, waaronder systemd-logind en pam-systemd, waardoor gebruikers van draagbare mappen kunnen authenticeren, inloggen, omgevingsvariabelen kunnen instellen, een sessie kunnen maken, limieten kunnen instellen, enz. De verwachting is dat het sssd-framework in de toekomst JSON-profielen kan genereren met gebruikersinstellingen opgeslagen in LDAP.
  • Er is een nieuw hulpprogramma “systemd-repart” toegevoegd, ontworpen om schijfpartitietabellen opnieuw te partitioneren in GPT-formaat. De partitiestructuur wordt in declaratieve vorm gedefinieerd via bestanden die beschrijven welke partities zouden moeten of kunnen bestaan. Bij elke opstart wordt de daadwerkelijke partitietabel vergeleken met deze bestanden, waarna de ontbrekende partities worden toegevoegd of, als de relatieve of absolute grootte die in de instellingen is gedefinieerd niet overeenkomt, de grootte van de bestaande wordt vergroot. Alleen incrementele wijzigingen zijn toegestaan, d.w.z. verwijderen en verkleinen is niet mogelijk, partities kunnen alleen worden toegevoegd en vergroot.
    Het hulpprogramma is ontworpen om te worden gestart vanaf de initrd en detecteert automatisch de schijf waarop de rootpartitie zich bevindt, waarvoor geen aanvullende configuratie vereist is, behalve voor bestanden met de definitie van wijzigingen.

    In de praktijk kan systemd-repart handig zijn voor afbeeldingen van besturingssystemen die in eerste instantie in een minimale vorm kunnen worden verzonden, en na de eerste keer opstarten kunnen worden uitgebreid tot de grootte van het bestaande blokapparaat of kunnen worden aangevuld met extra partities (bijvoorbeeld de root partitie kan worden uitgebreid om de gehele schijf te bestrijken of na de eerste keer opstarten een swappartitie of /home maken). Een ander gebruik zou configuraties zijn met twee roterende partities - alleen de eerste partitie zou initieel geleverd kunnen worden, en de tweede zou aangemaakt worden bij de eerste keer opstarten.

  • Het is nu mogelijk om meerdere exemplaren van systemd-journald te starten, die elk logboeken in hun eigen naamruimte bijhouden. Naast de hoofdmap systemd-journald.service biedt de .service-map een sjabloon voor het maken van extra exemplaren die aan hun naamruimten zijn gebonden met behulp van de “LogNamespace” -instructie. Elke lognaamruimte wordt bediend door een afzonderlijk achtergrondproces met zijn eigen set instellingen en limieten. De voorgestelde functie kan nuttig zijn voor taakverdeling met een groot volume aan logboeken of voor het verbeteren van applicatie-isolatie. Optie "--namespace" toegevoegd aan journalctl om de query te beperken tot alleen de opgegeven naamruimte.
  • Systemd-udevd en andere systemd-componenten hebben ondersteuning toegevoegd voor een mechanisme voor het toewijzen van alternatieve namen aan netwerkinterfaces, waardoor meerdere namen tegelijkertijd voor één interface kunnen worden gebruikt. De naam kan maximaal 128 tekens lang zijn (voorheen was de naam van de netwerkinterface beperkt tot 16 tekens). Standaard wijst systemd-udevd nu aan elke netwerkinterface alle variantnamen toe die zijn gegenereerd door ondersteunde naamgevingsschema's. Dit gedrag kan worden gewijzigd via de nieuwe instellingen AlternativeName en AlternativeNamesPolicy in .link-bestanden. systemd-nspawn implementeert het genereren van alternatieve namen met de volledige containernaam voor veth-koppelingen die aan de hostzijde zijn gemaakt.
  • De sd-event.h API voegt ondersteuning toe voor het Linux-kernelsubsysteem "pidfd" om de situatie van PID-hergebruik aan te pakken (pidfd is geassocieerd met een specifiek proces en verandert niet, terwijl een PID kan worden geassocieerd met een ander proces na het huidige proces die ermee verbonden is, verlaat deze PID). Alle systeemcomponenten behalve PID 1 zijn geconverteerd om pidfds te gebruiken als het subsysteem wordt ondersteund door de huidige kernel.
  • systemd-logind biedt toegangscontroles voor de wijziging van de virtuele terminal via PolicyKit. Standaard worden machtigingen om de actieve terminal te wijzigen alleen verleend aan gebruikers die minstens één keer een sessie op de lokale virtuele terminal hebben gestart.
  • Om het gemakkelijker te maken om initrd-images te maken met systemd, detecteert de PID 1-handler nu of de initrd wordt gebruikt en laadt in dit geval automatisch initrd.target in plaats van default.target. Met deze aanpak kunnen de initrd- en hoofdsysteemimages alleen verschillen als het bestand /etc/initrd-release aanwezig is.
  • Een nieuwe kernelopdrachtregelparameter toegevoegd - "systemd.cpu_affinity", equivalent aan de CPUAffinity-optie in /etc/systemd/system.conf en waarmee u het CPU-affiniteitsmasker voor PID 1 en andere processen kunt configureren.
  • Herladen van de SELinux-database mogelijk gemaakt, samen met het herstarten van PID 1 via commando's zoals "systemctl daemon-reload".
  • De instelling “systemd.show-status=error” is toegevoegd aan de PID 1-handler. Indien ingesteld, worden alleen foutmeldingen en aanzienlijke vertragingen tijdens het laden weergegeven op de console.
  • systemd-sysusers heeft ondersteuning toegevoegd voor het maken van gebruikers met een primaire groepsnaam die verschilt van de gebruikersnaam.
  • systemd-growfs introduceert ondersteuning voor XFS-partitie-uitbreiding via de x-systemd.growfs mount-optie in /etc/fstab, naast de eerder ondersteunde partitie-uitbreiding met Ext4 en Btrfs.
  • Optie x-initrd.attach toegevoegd aan /etc/crypttab om een ​​gecodeerde partitie te definiëren die al ontgrendeld is in de initrd-fase.
  • systemd-cryptsetup heeft ondersteuning toegevoegd (optie pkcs11-uri in /etc/crypttab) voor het ontgrendelen van gecodeerde partities met behulp van PKCS#11 smartcards, bijvoorbeeld voor het koppelen van partitie-encryptie aan YubiKeys.
  • Nieuwe mount-opties "x-systemd.required-by" en "x-systemd.wanted-by" zijn toegevoegd aan /etc/fstab om expliciet eenheden te configureren die mount-bewerkingen definiëren die moeten worden aangeroepen in plaats van local-fs.target en remote -fs.doel.
  • Er is een nieuwe service-sandboxing-optie toegevoegd: ProtectClock, die het schrijven naar de systeemklok beperkt (de toegang is geblokkeerd op het niveau van /dev/rtc, systeemaanroepen en CAP_SYS_TIME/CAP_WAKE_ALARM-rechten).
  • Naar specificatie Vindbare partities en systemd-gpt-auto-generator heeft partitiedetectie toegevoegd
    /var en /var/tmp.

  • In “systemctl list-unit-files” is bij het weergeven van een lijst met eenheden een nieuwe kolom verschenen die de activeringsstatus weergeeft die wordt aangeboden in de fabrieksinstellingen voor dit type eenheid.
  • Een optie “—with-dependencies” is toegevoegd aan “systemctl”. Indien geïnstalleerd, zullen commando’s zoals “systemctl status” en “systemctl cat” niet alleen alle corresponderende eenheden weergeven, maar ook de eenheden waarvan ze afhankelijk zijn.
  • In systemd-networkd heeft de qdisc-configuratie de mogelijkheid toegevoegd om de parameters TBF (Token Bucket Filter), SFQ (Stochastic Fairness Queuing), CoDel (Controlled-Delay Active Queue Management) en FQ (Fair Queue) te configureren.
  • systemd-networkd heeft ondersteuning toegevoegd voor IFB-netwerkapparaten (Middelmatig functioneel blok).
  • Systemd-networkd implementeert de parameter MultiPathRoute in de sectie [Route] om routes met meerdere paden te configureren.
  • In systemd-networkd voor de DHCPv4-client is de optie SendDecline toegevoegd. Indien gespecificeerd, wordt na ontvangst van een DHCP-antwoord met een adres een dubbele adrescontrole uitgevoerd en als er een adresconflict wordt gedetecteerd, wordt het uitgegeven adres afgewezen. De optie RouteMTUBytes is ook toegevoegd aan de DHCPv4-client, waardoor u de MTU-grootte kunt bepalen voor routes die zijn gegenereerd op basis van IP-adresbindingen (leases).
  • De PrefixRoute-instelling in de sectie [Adres] van .network-bestanden is verouderd. Het werd vervangen door de instelling “AddPrefixRoute”, die de tegenovergestelde betekenis heeft.
  • In .network-bestanden is ondersteuning voor de nieuwe waarde “_dhcp” toegevoegd aan de Gateway-instelling in de sectie “[Route]”. Indien ingesteld, wordt een statische route geselecteerd op basis van de gateway die via DHCP is geconfigureerd.
  • Instellingen zijn verschenen in de .network-bestanden in de sectie “[RoutingPolicyRule]”.
    Gebruiker en SuppressPrefixLength om bronroutering op te geven op basis van UID-bereiken en prefixgrootte.

  • In networkctl biedt het commando “status” de mogelijkheid om logs weer te geven met betrekking tot elke netwerkinterface.
  • systemd-networkd-wait-online voegt ondersteuning toe voor het instellen van de maximale tijd om te wachten totdat een interface operationeel wordt en om te wachten tot een interface uitvalt.
  • Gestopt met het verwerken van .link- en .network-bestanden met een leeg of becommentarieerd “[Match]”-gedeelte.
  • In de .link- en .network-bestanden is in de sectie "[Match]" een instelling "PermanentMACAddress" toegevoegd om het permanente MAC-adres van apparaten te controleren in het geval van gebruik van een gegenereerde willekeurige MAC.
  • De sectie “[TrafficControlQueueingDiscipline]” in .network-bestanden is hernoemd naar “[NetworkEmulator]” en het voorvoegsel “NetworkEmulator” is verwijderd uit de namen van de bijbehorende instellingen.
  • systemd-resolved voor DNS-over-TLS voegt ondersteuning toe voor SNI-controle.

Bron: opennet.ru

Voeg een reactie