systemd systeembeheerder release 250

Na vijf maanden ontwikkeling werd de release gepresenteerd van de system manager systemd 250. De nieuwe release introduceerde de mogelijkheid om inloggegevens in gecodeerde vorm op te slaan, implementeerde verificatie van automatisch gedetecteerde GPT-partities met behulp van een digitale handtekening, verbeterde informatie over de oorzaken van vertragingen bij Er is ondersteuning voor het monitoren van de partitie-integriteit met behulp van de dm-integrity-module, en er is ondersteuning voor sd-boot auto-update toegevoegd.

Grote veranderingen:

  • Ondersteuning toegevoegd voor gecodeerde en geverifieerde inloggegevens, wat handig kan zijn voor het veilig opslaan van gevoelige materialen zoals SSL-sleutels en toegangswachtwoorden. Het ontsleutelen van inloggegevens wordt alleen uitgevoerd wanneer dat nodig is en in verband met de lokale installatie of apparatuur. Gegevens worden automatisch gecodeerd met behulp van symmetrische versleutelingsalgoritmen, waarvan de sleutel zich in het bestandssysteem, in de TPM2-chip of met behulp van een combinatieschema kan bevinden. Wanneer de service start, worden de inloggegevens automatisch gedecodeerd en komen ze in de normale vorm beschikbaar voor de service. Om met gecodeerde inloggegevens te werken, is het hulpprogramma 'systemd-creds' toegevoegd en zijn de instellingen LoadCredentialEncrypted en SetCredentialEncrypted voor services voorgesteld.
  • sd-stub, het uitvoerbare bestand van EFI waarmee EFI-firmware de Linux-kernel kan laden, ondersteunt nu het opstarten van de kernel met behulp van het LINUX_EFI_INITRD_MEDIA_GUID EFI-protocol. Ook toegevoegd aan sd-stub is de mogelijkheid om inloggegevens en sysext-bestanden in een cpio-archief te verpakken en dit archief samen met de initrd naar de kernel over te dragen (extra bestanden worden in de map /.extra/ geplaatst). Met deze functie kunt u een verifieerbare onveranderlijke initrd-omgeving gebruiken, aangevuld met sysexts en gecodeerde authenticatiegegevens.
  • De specificatie voor Discoverable Partitions is aanzienlijk uitgebreid en biedt tools voor het identificeren, koppelen en activeren van systeempartities met behulp van GPT (GUID Partition Tables). Vergeleken met eerdere releases ondersteunt de specificatie nu de rootpartitie en /usr-partitie voor de meeste architecturen, inclusief platforms die geen UEFI gebruiken.

    Discoverable Partitions voegt ook ondersteuning toe voor partities waarvan de integriteit wordt geverifieerd door de dm-verity-module met behulp van PKCS#7 digitale handtekeningen, waardoor het eenvoudiger wordt om volledig geauthenticeerde schijfimages te maken. Verificatieondersteuning is geïntegreerd in verschillende hulpprogramma's die schijfkopieën manipuleren, waaronder systemd-nspawn, systemd-sysext, systemd-dissect, RootImage-services, systemd-tmpfiles en systemd-sysusers.

  • Voor units die er lang over doen om te starten of te stoppen, is het naast het weergeven van een geanimeerde voortgangsbalk mogelijk om statusinformatie weer te geven waarmee u kunt begrijpen wat er op dit moment precies met de service gebeurt en welke service de systeembeheerder is wacht momenteel op voltooiing.
  • De parameter DefaultOOMScoreAdjust toegevoegd aan /etc/systemd/system.conf en /etc/systemd/user.conf, waarmee u de OOM-killer-drempel voor weinig geheugen kunt aanpassen, van toepassing op processen die systemd start voor het systeem en gebruikers. Standaard is het gewicht van systeemservices hoger dan dat van gebruikersservices, d.w.z. Als er onvoldoende geheugen is, is de kans op beëindiging van gebruikersservices groter dan die van systeemservices.
  • De instelling RestrictFileSystems toegevoegd, waarmee u de toegang van services tot bepaalde typen bestandssystemen kunt beperken. Om de beschikbare typen bestandssystemen te bekijken, kunt u de opdracht “systemd-analyze filesystems” gebruiken. Naar analogie is de optie RestrictNetworkInterfaces geïmplementeerd, waarmee u de toegang tot bepaalde netwerkinterfaces kunt beperken. De implementatie is gebaseerd op de BPF LSM-module, die de toegang van een groep processen tot kernelobjecten beperkt.
  • Een nieuw /etc/integritytab configuratiebestand en systemd-integritysetup hulpprogramma toegevoegd die de dm-integrity module configureren om de gegevensintegriteit op sectorniveau te controleren, bijvoorbeeld om de onveranderlijkheid van gecodeerde gegevens te garanderen (Authenticated Encryption, zorgt ervoor dat een datablok niet via een omweg gewijzigd). Het formaat van het bestand /etc/integritytab is vergelijkbaar met de bestanden /etc/crypttab en /etc/veritytab, behalve dat dm-integrity wordt gebruikt in plaats van dm-crypt en dm-verity.
  • Er is een nieuw eenheidsbestand systemd-boot-update.service toegevoegd. Wanneer geactiveerd en de sd-boot bootloader is geïnstalleerd, zal systemd automatisch de versie van de sd-boot bootloader bijwerken, waardoor de bootloadercode altijd up-to-date blijft. sd-boot zelf is nu standaard gebouwd met ondersteuning voor het SBAT-mechanisme (UEFI Secure Boot Advanced Targeting), dat problemen met certificaatintrekking voor UEFI Secure Boot oplost. Bovendien biedt sd-boot de mogelijkheid om de opstartinstellingen van Microsoft Windows te parseren om de namen van opstartpartities met Windows correct te genereren en de Windows-versie weer te geven.

    sd-boot biedt ook de mogelijkheid om tijdens het bouwen een kleurenschema te definiëren. Tijdens het opstartproces is er ondersteuning toegevoegd voor het wijzigen van de schermresolutie door op de “r”-toets te drukken. Sneltoets “f” toegevoegd om naar de firmwareconfiguratie-interface te gaan. Een modus toegevoegd om het systeem automatisch op te starten dat overeenkomt met het menu-item dat tijdens de laatste keer opstarten is geselecteerd. De mogelijkheid toegevoegd om automatisch EFI-stuurprogramma's te laden die zich in de map /EFI/systemd/drivers/ in de sectie ESP (EFI System Partition) bevinden.

  • Er is een nieuw eenheidsbestand factory-reset.target opgenomen, dat in systemd-logind op een vergelijkbare manier wordt verwerkt als de bewerkingen reboot, poweroff, suspend en hibernate, en wordt gebruikt om handlers te maken voor het uitvoeren van een fabrieksreset.
  • Het door het systeem opgeloste proces creëert nu een extra luister-socket op 127.0.0.54 naast 127.0.0.53. Verzoeken die aankomen op 127.0.0.54 worden altijd doorgestuurd naar een upstream DNS-server en worden niet lokaal verwerkt.
  • Biedt de mogelijkheid om systemd-importd en systemd-resolved te bouwen met de OpenSSL-bibliotheek in plaats van libgcrypt.
  • Initiële ondersteuning toegevoegd voor de LoongArch-architectuur die wordt gebruikt in Loongson-processors.
  • systemd-gpt-auto-generator biedt de mogelijkheid om automatisch door het systeem gedefinieerde swappartities te configureren die zijn gecodeerd door het LUKS2-subsysteem.
  • De GPT-beeldparseercode die wordt gebruikt in systemd-nspawn, systemd-dissect en soortgelijke hulpprogramma's implementeert de mogelijkheid om afbeeldingen voor andere architecturen te decoderen, waardoor systemd-nspawn kan worden gebruikt om afbeeldingen uit te voeren op emulators van andere architecturen.
  • Bij het inspecteren van schijfimages geeft systemd-dissect nu informatie weer over het doel van de partitie, zoals geschiktheid om op te starten via UEFI of om in een container te draaien.
  • Het veld “SYSEXT_SCOPE” is toegevoegd aan de system-extension.d/-bestanden, waardoor u de reikwijdte van de systeemimage kunt aangeven: “initrd”, “system” of “portable”.
  • Er is een veld “PORTABLE_PREFIXES” toegevoegd aan het os-release-bestand, dat in draagbare images kan worden gebruikt om ondersteunde voorvoegsels van eenheidsbestanden te bepalen.
  • systemd-logind introduceert nieuwe instellingen HandlePowerKeyLongPress, HandleRebootKeyLongPress, HandleSuspendKeyLongPress en HandleHibernateKeyLongPress, die kunnen worden gebruikt om te bepalen wat er gebeurt als bepaalde toetsen langer dan 5 seconden worden ingedrukt (het snel indrukken van de Suspend-toets kan bijvoorbeeld worden geconfigureerd om naar de standby-modus te gaan en als u deze ingedrukt houdt, gaat hij slapen).
  • Voor eenheden zijn de instellingen StartupAllowedCPUs en StartupAllowedMemoryNodes geïmplementeerd. Deze verschillen van vergelijkbare instellingen zonder het Startup-voorvoegsel doordat ze alleen worden toegepast tijdens het opstarten en afsluiten, waardoor u tijdens het opstarten andere bronbeperkingen kunt instellen.
  • [Condition|Assert][Memory|CPU|IO]Drukcontroles toegevoegd waarmee de activering van de eenheid kan worden overgeslagen of mislukt als het PSI-mechanisme een zware belasting van het geheugen, de CPU en de I/O in het systeem detecteert.
  • De standaard maximale inodelimiet is verhoogd voor de /dev-partitie van 64k naar 1M, en voor de /tmp-partitie van 400k naar 1M.
  • Er is een ExecSearchPath-instelling voorgesteld voor services, die het mogelijk maakt om het pad te wijzigen voor het zoeken naar uitvoerbare bestanden die zijn gestart via instellingen zoals ExecStart.
  • De instelling RuntimeRandomizedExtraSec toegevoegd, waarmee u willekeurige afwijkingen kunt introduceren in de RuntimeMaxSec-time-out, die de uitvoeringstijd van een eenheid beperkt.
  • De syntaxis van de RuntimeDirectory-, StateDirectory-, CacheDirectory- en LogsDirectory-instellingen is uitgebreid, waarbij u door een extra waarde op te geven, gescheiden door een dubbele punt, nu de creatie van een symbolische link naar een bepaalde map kunt organiseren om de toegang langs verschillende paden te organiseren.
  • Voor services worden TTYRows- en TTYColumns-instellingen aangeboden om het aantal rijen en kolommen in het TTY-apparaat in te stellen.
  • De ExitType-instelling toegevoegd, waarmee u de logica voor het bepalen van het einde van een service kunt wijzigen. Standaard controleert systemd alleen de dood van het hoofdproces, maar als ExitType=cgroup is ingesteld, wacht de systeembeheerder tot het laatste proces in de cgroup is voltooid.
  • systemd-cryptsetup's implementatie van TPM2/FIDO2/PKCS11-ondersteuning is nu ook gebouwd als een cryptsetup-plug-in, waardoor de normale cryptsetup-opdracht kan worden gebruikt om een ​​gecodeerde partitie te ontgrendelen.
  • De TPM2-handler in systemd-cryptsetup/systemd-cryptsetup voegt ondersteuning toe voor primaire RSA-sleutels naast ECC-sleutels om de compatibiliteit met niet-ECC-chips te verbeteren.
  • De token-timeout-optie is toegevoegd aan /etc/crypttab, waarmee u de maximale tijd kunt definiëren die moet worden gewacht op een PKCS#11/FIDO2-tokenverbinding, waarna u wordt gevraagd een wachtwoord of herstelsleutel in te voeren.
  • systemd-timesyncd implementeert de SaveIntervalSec-instelling, waarmee u periodiek de huidige systeemtijd op schijf kunt opslaan, bijvoorbeeld om een ​​monotone klok te implementeren op systemen zonder RTC.
  • Er zijn opties toegevoegd aan het hulpprogramma systemd-analyze: “--image” en “--root” voor het controleren van eenheidsbestanden binnen een bepaalde afbeelding of hoofdmap, “--recursive-errors” voor het rekening houden met afhankelijke eenheden wanneer er een fout optreedt wordt gedetecteerd, “--offline” voor het afzonderlijk controleren van eenheidsbestanden die op schijf zijn opgeslagen, “—json” voor uitvoer in JSON-formaat, “—quiet” om onbelangrijke berichten uit te schakelen, “—profile” om te binden aan een draagbaar profiel. Ook toegevoegd is de opdracht inspect-elf voor het parseren van kernbestanden in ELF-formaat en de mogelijkheid om eenheidsbestanden met een bepaalde eenheidsnaam te controleren, ongeacht of deze naam overeenkomt met de bestandsnaam.
  • systemd-networkd heeft de ondersteuning voor de Controller Area Network (CAN)-bus uitgebreid. Instellingen toegevoegd om CAN-modi te besturen: Loopback, OneShot, PresumeAck en ClassicDataLengthCode. Opties voor TimeQuantaNSec, PropagationSegment, PhaseBufferSegment1, PhaseBufferSegment2, SyncJumpWidth, DataTimeQuantaNsec, DataPropagationSegment, DataPhaseBufferSegment1, DataPhaseBufferSegment2 en DataSyncJumpWidth toegevoegd aan de sectie [CAN] van .network-bestanden om de bitsynchronisatie van de CAN-interface te regelen.
  • Systemd-networkd heeft een Label-optie toegevoegd voor de DHCPv4-client, waarmee u het adreslabel kunt configureren dat wordt gebruikt bij het configureren van IPv4-adressen.
  • systemd-udevd voor "ethtool" implementeert ondersteuning voor speciale "max"-waarden die de buffergrootte instellen op de maximale waarde die door de hardware wordt ondersteund.
  • In .link-bestanden voor systemd-udevd kunt u nu verschillende parameters configureren voor het combineren van netwerkadapters en het verbinden van hardwarehandlers (offload).
  • systemd-networkd biedt standaard nieuwe .network-bestanden: 80-container-vb.network om netwerkbruggen te definiëren die zijn gemaakt bij het uitvoeren van systemd-nspawn met de opties “--network-bridge” of “--network-zone”; 80-6rd-tunnel.network om tunnels te definiëren die automatisch worden aangemaakt bij ontvangst van een DHCP-antwoord met de 6RD-optie.
  • Systemd-networkd en systemd-udevd hebben ondersteuning toegevoegd voor IP-forwarding via InfiniBand-interfaces, waarvoor de sectie "[IPoIB]" is toegevoegd aan de systemd.netdev-bestanden, en de verwerking van de "ipoib"-waarde is geïmplementeerd in de Kind instelling.
  • systemd-networkd biedt automatische routeconfiguratie voor adressen die zijn opgegeven in de parameter AllowedIPs, die kunnen worden geconfigureerd via de parameters RouteTable en RouteMetric in de secties [WireGuard] en [WireGuardPeer].
  • systemd-networkd biedt automatische generatie van niet-veranderende MAC-adressen voor de batadv- en bridge-interfaces. Om dit gedrag uit te schakelen, kunt u MACAddress=none opgeven in .netdev-bestanden.
  • Er is een WakeOnLanPassword-instelling toegevoegd aan .link-bestanden in de sectie "[Link]" om het wachtwoord te bepalen wanneer WoL in de "SecureOn"-modus draait.
  • Instellingen voor AutoRateIngress, CompensationMode, FlowIsolationMode, NAT, MPUBytes, PriorityQueueingPreset, FirewallMark, Wash, SplitGSO en UseRawPacketSize toegevoegd aan de sectie "[CAKE]" van .network-bestanden om de parameters van het CAKE-netwerkwachtrijbeheermechanisme (Common Applications Kept Enhanced) te definiëren .
  • Er is een instelling IgnoreCarrierLoss toegevoegd aan de sectie "[Netwerk]" van .network-bestanden, zodat u kunt bepalen hoe lang u moet wachten voordat u reageert op verlies van draaggolfsignaal.
  • Systemd-nspawn, homectl, machinectl en systemd-run hebben de syntaxis van de parameter "--setenv" uitgebreid - als alleen de naam van de variabele is opgegeven (zonder "="), wordt de waarde overgenomen van de overeenkomstige omgevingsvariabele (bijvoorbeeld Als u bijvoorbeeld "--setenv=FOO" opgeeft, wordt de waarde overgenomen van de omgevingsvariabele $FOO en gebruikt in de omgevingsvariabele met dezelfde naam die in de container is ingesteld).
  • systemd-nspawn heeft een "--suppress-sync" optie toegevoegd om synchronisatie()/fsync()/fdatasync() systeemaanroepen uit te schakelen bij het maken van een container (handig wanneer snelheid een prioriteit is en het behouden van build-artefacten in geval van falen niet belangrijk, omdat ze op elk moment opnieuw kunnen worden gemaakt).
  • Er is een nieuwe hwdb-database toegevoegd, die verschillende soorten signaalanalysatoren bevat (multimeters, protocolanalysatoren, oscilloscopen, enz.). Informatie over camera's in hwdb is uitgebreid met een veld met informatie over het type camera (regulier of infrarood) en lensplaatsing (voor of achter).
  • Maakte het genereren van niet-veranderende netwerkinterfacenamen mogelijk voor netfront-apparaten die in Xen worden gebruikt.
  • De analyse van kernbestanden door het hulpprogramma systemd-coredump, gebaseerd op de libdw/libelf-bibliotheken, wordt nu uitgevoerd in een afzonderlijk proces, geïsoleerd in een sandbox-omgeving.
  • systemd-importd heeft ondersteuning toegevoegd voor de omgevingsvariabelen $SYSTEMD_IMPORT_BTRFS_SUBVOL, $SYSTEMD_IMPORT_BTRFS_QUOTA, $SYSTEMD_IMPORT_SYNC, waarmee u het genereren van Btrfs-subpartities kunt uitschakelen, evenals quota's en schijfsynchronisatie kunt configureren.
  • In systemd-journald wordt op bestandssystemen die de modus kopiëren bij schrijven ondersteunen de COW-modus opnieuw ingeschakeld voor gearchiveerde tijdschriften, waardoor ze kunnen worden gecomprimeerd met Btrfs.
  • systemd-journald implementeert deduplicatie van identieke velden in een enkel bericht, wat wordt uitgevoerd in de fase voordat het bericht in het journaal wordt geplaatst.
  • Optie "--show" toegevoegd aan de afsluitopdracht om geplande afsluiting weer te geven.

Bron: opennet.ru

Voeg een reactie