systemd 245 tillgänglig med bärbar hemkatalogimplementering

Efter tre månaders utveckling presenteras systemhanterarens release systemd 245. I den nya utgåvan läggs nya komponenter systemd-homed och systemd-repart till, stöd för bärbara användarprofiler i JSON-format ingår, möjligheten att definiera namnutrymmen i systemd-journald tillhandahålls och stöd för "pidfd"-mekanismen läggs till . Helt omgjord projektplats, som samlar det mesta av tillgänglig dokumentation och föreslår en ny logotyp.

systemd 245 tillgänglig med bärbar hemkatalogimplementering

Den huvudsakliga förändringar:

  • Tillagd tjänst systemd-homed, som tillhandahåller hantering av bärbara hemkataloger, levererade i form av en monterad bildfil, vars data är krypterad. Systemd-homed låter dig skapa fristående miljöer för användardata som kan överföras mellan olika system utan att behöva oroa dig för identifieringssynkronisering och konfidentialitet. Användaruppgifter är knutna till hemkatalogen snarare än systeminställningar – en profil i formatet används istället för /etc/passwd, /etc/group och /etc/shadow JSON. För mer information, se senaste tillkännagivandet systemd-homed.
  • Lade till systemd-homed companion-komponent "userdb” (“systemd-userdb”), som översätter UNIX/glibc NSS-konton till JSON-poster och tillhandahåller ett enhetligt Varlink-API för att fråga och iterera över poster. JSON-profilen som är associerad med hemkatalogen anger de parametrar som krävs för användarens arbete, inklusive användarnamn, lösenordshash, krypteringsnycklar, kvoter och tillhandahållna resurser. Profilen kan certifieras med en digital signatur lagrad på en extern Yubikey-token. För att hantera profiler föreslås verktyget "userdbctl". Stöd för JSON-profiler har lagts till i olika systemd-komponenter, inklusive systemd-logid och pam-systemd, vilket gör att användare av portabla kataloger kan autentisera, logga in, ställa in miljövariabler, skapa en session, sätta gränser, etc. I framtiden förväntas det att sssd-ramverket kommer att kunna generera JSON-profiler med användarinställningar lagrade i LDAP.
  • Ett nytt verktyg "systemd-repart" har lagts till, designat för att partitionera diskpartitionstabeller i GPT-format. Partitionsstrukturen definieras i deklarativ form genom filer som beskriver vilka partitioner som bör eller kan finnas. Vid varje start jämförs den faktiska partitionstabellen med dessa filer, varefter de saknade partitionerna läggs till eller, om den relativa eller absoluta storleken definierad i inställningarna inte stämmer överens, storleken på de befintliga ökas. Endast stegvisa ändringar är tillåtna, dvs. att ta bort och minska storleken är inte möjligt, partitioner kan bara läggas till och förstoras.
    Verktyget är utformat för att startas från initrd och upptäcker automatiskt disken där rotpartitionen finns, vilket inte kräver ytterligare konfiguration, förutom filer med definitionen av ändringar.

    I praktiken kan systemd-repart vara användbart för operativsystemavbildningar som initialt kan skickas i minimal form, och efter den första uppstarten kan utökas till storleken på den befintliga blockenheten eller kompletteras med ytterligare partitioner (till exempel roten partition kan utökas för att täcka hela disken eller efter den första uppstarten skapa en swap-partition eller /home). En annan användning skulle vara konfigurationer med två roterande partitioner - endast den första partitionen kan levereras initialt, och den andra skulle skapas vid första uppstart.

  • Det är nu möjligt att starta flera instanser av systemd-journald, som var och en håller loggar i sitt eget namnområde. Utöver huvudsystemet systemd-journald.service, erbjuder .service-katalogen en mall för att skapa ytterligare instanser bundna till deras namnområden med hjälp av "LogNamespace"-direktivet. Varje loggnamnområde betjänas av en separat bakgrundsprocess med sin egen uppsättning inställningar och gränser. Den föreslagna funktionen kan vara användbar för lastbalansering med en stor volym stockar eller för att förbättra applikationsisoleringen. Lade till alternativet "--namespace" till journalctl för att begränsa frågan till endast det angivna namnområdet.
  • Systemd-udevd och andra systemd-komponenter har lagt till stöd för en mekanism för att tilldela alternativa namn till nätverksgränssnitt, vilket gör att flera namn kan användas samtidigt för ett gränssnitt. Namnet kan vara upp till 128 tecken (tidigare var nätverksgränssnittets namn begränsat till 16 tecken). Som standard tilldelar systemd-udevd nu varje nätverksgränssnitt alla variantnamn som genereras av namnscheman som stöds. Detta beteende kan ändras genom de nya inställningarna AlternativeName och AlternativeNamesPolicy i .link-filer. systemd-nspawn implementerar genereringen av alternativa namn med det fullständiga containernamnet för veth-länkar skapade på värdsidan.
  • sd-event.h API lägger till stöd för Linux-kärnundersystemet "pidfd" för att hantera situationen med PID-återanvändning (pidfd är associerad med en specifik process och ändras inte, medan en PID kan associeras med en annan process efter den aktuella processen associerad med den lämnar denna PID). Alla systemd-komponenter utom PID 1 har konverterats till att använda pidfds om undersystemet stöds av den aktuella kärnan.
  • systemd-logind tillhandahåller åtkomstkontroller för den virtuella terminaländringsoperationen via PolicyKit. Som standard ges behörighet att ändra den aktiva terminalen endast till användare som har initierat en session på den lokala virtuella terminalen minst en gång.
  • För att göra det enklare att skapa initrd-bilder med systemd, upptäcker PID 1-hanteraren nu om initrd används och laddar i detta fall automatiskt initrd.target istället för default.target. Med detta tillvägagångssätt kan initrd- och huvudsystembilden endast skilja sig åt i närvaro av filen /etc/initrd-release.
  • Lade till en ny kärnans kommandoradsparameter - "systemd.cpu_affinity", motsvarande alternativet CPUAffinity i /etc/systemd/system.conf och låter dig konfigurera CPU-affinitetsmasken för PID 1 och andra processer.
  • Aktiverade omladdning av SELinux-databasen tillsammans med omstart av PID 1 via kommandon som "systemctl daemon-reload".
  • Inställningen "systemd.show-status=error" har lagts till PID 1-hanteraren, när den är inställd visas endast felmeddelanden och betydande förseningar under laddning på konsolen.
  • systemd-sysusers lade till stöd för att skapa användare med ett primärt gruppnamn som skiljer sig från användarnamnet.
  • systemd-growfs introducerar stöd för XFS-partitionsexpansion via monteringsalternativet x-systemd.growfs i /etc/fstab, förutom tidigare stödd partitionsexpansion med Ext4 och Btrfs.
  • Lade till alternativet x-initrd.attach till /etc/crypttab för att definiera en krypterad partition som redan är upplåst i initrd-stadiet.
  • systemd-cryptsetup har lagt till stöd (alternativ pkcs11-uri i /etc/crypttab) för att låsa upp krypterade partitioner med PKCS#11 smartkort, till exempel för att bifoga partitionskryptering till YubiKeys.
  • Nya monteringsalternativ "x-systemd.required-by" och "x-systemd.wanted-by" har lagts till i /etc/fstab för att explicit konfigurera enheter som definierar monteringsoperationer som ska anropas istället för local-fs.target och remote -fs .mål.
  • Ett nytt tjänstsandlådealternativ har lagts till - ProtectClock, som begränsar skrivning till systemklockan (åtkomst blockeras på nivån /dev/rtc, systemanrop och CAP_SYS_TIME/CAP_WAKE_ALARM-behörigheter).
  • Till specifikation Upptäckbara partitioner och systemd-gpt-auto-generator lade till partitionsdetektering
    /var och /var/tmp.

  • I "systemctl list-unit-files", när en lista med enheter visas, har en ny kolumn dykt upp som återspeglar det aktiveringsläge som erbjuds i tillverkarens förinställningar för denna typ av enhet.
  • Ett alternativ "—med beroenden" har lagts till i "systemctl", när det är installerat kommer kommandon som "systemctl status" och "systemctl cat" att visa inte bara alla motsvarande enheter, utan även de enheter som de är beroende av.
  • I systemd-networkd har qdisc-konfigurationen lagt till möjligheten att konfigurera parametrarna TBF (Token Bucket Filter), SFQ (Stochastic Fairness Queuing), CoDel (Controlled-Delay Active Queue Management) och FQ (Fair Queue).
  • systemd-networkd lade till stöd för IFB-nätverksenheter (Mellanliggande funktionsblock).
  • Systemd-networkd implementerar MultiPathRoute-parametern i avsnittet [Route] för att konfigurera flervägsrutter.
  • I systemd-networkd för DHCPv4-klienten har alternativet SendDecline lagts till, när det specificerats, efter att ha mottagit ett DHCP-svar med en adress, utförs en dubblettadresskontroll och om en adresskonflikt upptäcks avvisas den utfärdade adressen. Alternativet RouteMTUBytes har också lagts till i DHCPv4-klienten, vilket gör att du kan bestämma MTU-storleken för rutter som genereras från IP-adressbindningar (leasingavtal).
  • PrefixRoute-inställningen i avsnittet [Adress] i .network-filer har föråldrats. Den ersattes av inställningen "AddPrefixRoute", som har motsatt betydelse.
  • I .network-filer har stöd för det nya värdet "_dhcp" lagts till i Gateway-inställningen i avsnittet "[Route]", när den är inställd väljs en statisk rutt baserat på gatewayen som konfigurerats via DHCP.
  • Inställningar har dykt upp i .network-filerna i avsnittet "[RoutingPolicyRule]".
    User och SuppressPrefixLength för att ange källdirigering baserat på UID-intervall och prefixstorlek.

  • I networkctl ger kommandot "status" möjligheten att visa loggar i relation till varje nätverksgränssnitt.
  • systemd-networkd-wait-online lägger till stöd för att ställa in den maximala tiden för att vänta på att ett gränssnitt ska börja fungera och att vänta på att ett gränssnitt försvinner.
  • Slutade bearbeta .link- och .network-filer med en tom eller kommenterad "[Match]"-sektion.
  • I .länk- och .nätverksfilerna, i avsnittet "[Match]", har en "PermanentMACAddress"-inställning lagts till för att kontrollera den permanenta MAC-adressen för enheter vid användning av en genererad slumpmässig MAC.
  • Avsnittet "[TrafficControlQueueingDiscipline]" i .network-filer har bytt namn till "[NetworkEmulator]", och prefixet "NetworkEmulator" har tagits bort från namnen på associerade inställningar.
  • systemd-resolved för DNS-over-TLS lägger till stöd för SNI-kontroll.

Källa: opennet.ru

Lägg en kommentar