A systemd 249-es verziójának kiadása

Három hónapos fejlesztés után megjelent a systemd 249-es verziója. Az új kiadás lehetővé teszi felhasználók/csoportok meghatározását JSON formátumban, stabilizálta a Journal protokollt, egyszerűsítette az egymás váltakozását jelentő lemezkötetek indítását, hozzáadta a BPF-programok szolgáltatásokhoz való hozzárendelésének lehetőségét, megvalósította a felhasználói azonosítók térképezését a csatolt kötetekben, valamint egy sor új hálózati beállítást és lehetőséget kínál a konténerek futtatására.

Főbb változások:

  • Dokumentálva lett a Journal protokoll, amelyet a kliensek használhatnak a syslog protokoll helyett a naplóbejegyzések helyi kézbesítésére. A Journal protokollt már régóta megvalósították, és egyes klienskönyvtárakban már használják, azonban hivatalos támogatása csak most került bejelentésre.
  • A userdb és nss-systemd biztosítja a felhasználók további meghatározásainak olvasását, amelyek a /etc/userdb/, /run/userdb/, /run/host/userdb/ és /usr/lib/userdb/ könyvtárakban találhatók, JSON formátumban. Megjegyzendő, hogy ez a lehetőség további mechanizmust kínál a felhasználók létrehozásához a rendszerben, biztosítva annak teljes integrációját az NSS-sel és a /etc/shadow-val. A JSON formátum támogatása a felhasználó/csoport rekordokhoz lehetővé teszi különböző erőforráskezelési paraméterek és egyéb beállítások hozzákötését a felhasználókhoz, amelyeket a pam_systemd és a systemd-logind ismer fel.
  • Az nss-systemd biztosítja a felhasználó/csoport bejegyzések szintézisének lehetőségét a /etc/shadow-ban a systemd-homed által használt hash-elt jelszavakkal.
  • Megvalósításra került egy mechanizmus, amely egyszerűsíti a frissítések szervezését, amely felváltó lemezköteteket használ (az egyik kötet aktív, a másik tartalék – a frissítés a tartalék kötetre kerül, amely után aktívvá válik). Ha a lemezképben két gyökér vagy /usr kötet található, és a udev nem határozza meg a 'root=' paraméter létezését, vagy a lemezképek feldolgozása történik, amelyeket a systemd-nspawn és a systemd-dissect utilitások '—image' opcióján keresztül adtak meg, a betöltési kötet a GPT címkék összehasonlítása révén számítható ki (feltételezve, hogy a GPT címkén megjelenik a kötet tartalmának verziószáma, és a systemd kiválasztja a legfrissebb változtatásokkal rendelkező kötetet).
  • A szolgáltatások fájljaihoz hozzáadva lett a BPFProgram beállítás, amellyel BPF-programok betöltése a kernelbe és azok kezelése végezhető el, bizonyos systemd szolgáltatásokhoz való hozzárendeléssel.
  • A systemd-fstab-generator és a systemd-repart lehetővé tették a betöltést olyan lemezekről, amelyeken csak a /usr partíció található, és nincs gyökérpartíció (a gyökérpartíciót a systemd-repart segédprogram hozza létre az első betöltéskor).
  • A systemd-nspawnban a «—private-user-chown» opciót felváltotta egy univerzálisabb változat, a «—private-user-ownership», amely a «chown» értéket fogadhatja el, mint a «—private-user-chown» megfelelője, «off» az régi beállítás letiltására, «map» a felhasználói azonosítók mappszerepése érdekében a csatlakoztatott fájlrendszerekben, és «auto» a «map» kiválasztásához, ha a szükséges funkcionalitás jelen van a kernelben (5.12+) vagy visszatérés a rekurzív chown hívásra máskülönben. A mappszerepés lehetővé teszi, hogy egy felhasználó fájljait külső partíciókon egy másik felhasználóval egyesítsük a jelenlegi rendszeren, ezzel egyszerűsítve a fájlok megosztását különböző felhasználók között. A systemd-homed hordozható otthoni könyvtárak mechanizmusában a mappszerepés lehetővé teszi a felhasználók számára, hogy külső tárolókra helyezzék otthoni könyvtáraikat, és használják őket különböző számítógépeken, ahol a felhasználói azonosítók eloszlása nem egyezik.
  • A systemd-nspawnban a «—private-user» opcióhoz most már használható az «identity» érték az azonosító felhasználók közvetlen tükrözésére a névtér (user namespace) beállításakor, azaz a konténerben az UID 0 és UID 1 az oldalsó gazda UID 0 és UID 1-re lesz átírva, ezzel csökkentve a támadási felületek számát (a konténer csak a saját névterében kapja meg a folyamat jogosultságait).
  • A systemd-nspawnhoz hozzáadva lett a «—bind-user» opció, amely lehetővé teszi egy felhasználói fiók áthidalását a konténerbe, amely a gazda környezetben már létezik (a konténerbe csatlakozik a felhasználó otthoni könyvtára, felhasználói/csoportbejegyzés hozzáadódik, és UID mappszerep beállítása történik a konténer és a gazda környezet között).
  • A systemd-ask-password és systemd-sysusers hozzáadta a telepített jelszavak (passwd.hashed-password.<user> és passwd.plaintext-password.<user>) kérésének támogatását a systemd 247 verziójában bevezetett, érzékeny adatok biztonságos átadására szolgáló mechanizmussal, amely ideiglenes fájlokat használ egy külön mappában. Alapértelmezés szerint a hitelesítő adatok a PID1 azonosítójú folyamattól származnak, amelyeket például a konténerkezelő szerez be, lehetővé téve a felhasználói jelszó beállítását az első indításkor.
  • A systemd-firstboot hozzáadta a biztonságos adatátadási mechanizmus használatának támogatását a rendszer különböző paramétereinek kérésére, amelyet a rendszerbeállítások inicializálására lehet használni egy olyan konténerkép első indításakor, amelynek mappájában nincsenek szükséges beállítások az /etc mappában.
  • A PID 1 folyamat során az indítás során egyszerre mutatja a unit nevét és leírását. A kimenet megváltoztatható a system.conf-ban a 'StatusUnitFormat=combined' paraméterrel vagy a rendszer magjának parancssori opciójával: 'systemd.status-unit-format=combined'.
  • A systemd-machine-id-setup és a systemd-repart programokhoz hozzáadva lett a '--image' opció, amely lehetővé teszi a gépazonosító fájlának átadását lemezképekhez vagy lemezkép méretének növeléséhez.
  • A systemd-repart üzemeltető által használt partícióbeállító fájlhoz hozzáadva lett a MakeDirectories paraméter, amely lehetővé teszi tetszőleges mappák létrehozását a létrehozott fájlrendszerben a partíciós táblázatba való bejegyzés előtt (például a gyökérpartícióban mappák létrehozására a csatlakozási pontok számára, hogy azonnal csatlakozhassunk a partícióhoz írásvédett módban). A létrehozott partíciók GPT zászlóinak kezelésére vonatkozóan a Flags, ReadOnly és NoAuto megfelelő paraméterek kerültek hozzáadásra. A CopyBlocks paraméterben megvalósítva lett az 'auto' érték, amely automatikusan választja ki az aktuális indító partíciót forrásként a blokkok másolásakor (például amikor a saját gyökérpartícióját új adathordozóra kell áthelyezni).
  • A GPT-ben megvalósították a „grow-file-system” jelzőt, amely hasonló a x-systemd.growfs csatolási opcióhoz, és automatikus fájlrendszer-kiterjesztést biztosít a blokkeszköz határain belül, ha a fájlrendszer mérete kisebb a partíciónál. A jelző alkalmazható az Ext3, XFS és Btrfs fájlrendszerekhez, és automatikusan azonosított partíciókon is használható. Alapértelmezetten engedélyezve van az írásra elérhető partíciókon, amelyek a systemd-repart-on keresztül automatikusan létrejöttek. A jelző beállításához a systemd-repart-hoz hozzáadták a GrowFileSystem opciót.
  • Az /etc/os-release fájlban új IMAGE_VERSION és IMAGE_ID változók támogatása valósult meg az atomikusan frissíthető képek verziójának és azonosítójának meghatározásához. A megadott értékek különböző parancsokba való behelyettesítésére %M és %A specifikátorokat javasoltak.
  • A portablectl segédprogramhoz hozzáadták a „--extension” paramétert a rendszerszélesíthető képek aktiválásához (például ezen keresztül terjeszthetők a gyökérpartícióba integrált további szolgáltatások képei).
  • A systemd-coredump segédprogramban megvalósították az ELF build-id információk kinyerését a folyamat core-dumpjának létrehozásakor, ami hasznos lehet a hibás folyamat csomaghoz való hozzárendelésében, ha a deb- vagy rpm-csomagok neve és verziója be volt ágyazva az ELF fájlokba.
  • A udev-ben új hardver adatbázist adtak hozzá FireWire (IEEE 1394) eszközökhöz.
  • A udev-ben a 'net_id' hálózati interfész neveinek kiválasztásának sémájába három olyan változást vezettek be, amely megsérti a visszafelé kompatibilitást: a nem megfelelő karakterek az interfésznevekben most '_'-ra cserélődnek; a s390 rendszerek PCI hotplug slot nevei hexadecimális számok formájában kerülnek feldolgozásra; legfeljebb 65535 beépített PCI-eszköz használata engedélyezett (korábban a 16383 feletti számok blokkolva voltak).
  • A systemd-resolved-ben a NTA (Negative Trust Anchors) listához hozzáadták a 'home.arpa' domaint, amelyet helyi otthoni hálózatokhoz ajánlanak, de nem alkalmaznak DNSSEC alatt.
  • A CPAffinity paraméterben a '%' specifikátorok elemzése biztosított.
  • A '.network' fájlokhoz hozzáadták a ManageForeignRoutingPolicyRules paramétert, amely felhasználható a systemd-networkd által harmadik fél routing politikák kezelésének kizárására.
  • A '.network' fájlokhoz hozzáadták a RequiredFamilyForOnline paramétert az IPv4 vagy IPv6 cím jelenléte mint a hálózati interfész „online” állapotának meghatározásához. A networkctl biztosítja az „online” állapot megjelenítését minden link esetében.
  • A fájlokhoz „.network” hozzáadva az OutgoingInterface paraméter, amely az outgoing interfészeket határozza meg a hálózati hidak konfigurálásakor.
  • A fájlokhoz „.network” hozzáadva a Group paraméter, amely lehetővé teszi a Multipath csoport konfigurálását a „[NextHop]” szekcióban található bejegyzésekhez.
  • A systemd-network-wait-online-ba bevezetve a „-4” és „-6” opciók, amelyek korlátozzák a csatlakozási várakozást csak IPv4 vagy IPv6-os kapcsolatokra.
  • A DHCP-szerver beállításaiba bevezetve a RelayTarget paraméter, amely a szervert DHCP Relay módban üzemelteti. További DHCP-relé konfigurációs lehetőségek a RelayAgentCircuitId és RelayAgentRemoteId opciók.
  • A DHCP-szerverhez hozzáadva a ServerAddress paraméter, amely lehetővé teszi a szerver IP-címének egyértelmű beállítását (különben az cím automatikusan választható).
  • A DHCP-szerverben megvalósult a [DHCPServerStaticLease] szekció, amely lehetővé teszi a statikus IP-címek (DHCP leases) és MAC-címek közötti kötéseket.
  • A RestrictAddressFamilies beállításban megvalósítva a „none” érték támogatása, amelynél a szolgáltatás számára nem elérhetők a bármilyen cím családú socketek.
  • A fájlokban „.network” a [Address], [DHCPv6PrefixDelegation] és [IPv6Prefix] szekciókban megvalósítva a RouteMetric konfigurálásának támogatása, amely lehetővé teszi a megadott címhez tartozó útvonal prefix metrikájának kiadását.
  • A nss-myhostname és systemd-resolved biztosítja a DNS-rekordok szintézisét, speciális névvel rendelkező hostokhoz, mint például „_outbound”, amely mindig a megfelelő lokális IP-címet adja, a kimeneti kapcsolatokhoz használt alapértelmezett Route alapján.
  • A „.network” fájlokhoz a „[DHCPv4]” szekcióba hozzáadva alapértelmezés szerint aktivált beállítás a RoutesToNTP, amely külön útvonal hozzáadását írja elő a jelenlegi hálózati interfészen NTP-szerver cím eléréséhez, amelyet DHCP-n keresztül kaptak (analógiával a DNS beállításhoz, biztosítva, hogy az NTP-szerverrel való forgalom az interfészen keresztül haladjon, amely az ilyen címekhez van rendelve).
  • Hozzáadva a SocketBindAllow és SocketBindDeny beállítások a socketekhez való hozzáférés kezelésére, amelyek az aktuális szolgáltatáshoz vannak kötve.
  • A unit fájlokhoz bevezetve a ConditionFirmware feltételes beállítás, amely lehetővé teszi a firmware funkciók ellenőrzését, mint például az UEFI rendszerek és a device.tree, illetve a device-tree bizonyos funkcionalitásainak kompatibilitásának ellenőrzését.
  • Megvalósult a ConditionOSRelease opció a /etc/os-release fájl mezőinek ellenőrzésére. A mező értékeinek ellenőrzésekor a következő operátorok használhatóak: „=”, „!=”, „<”, „=”, „>”.
  • A hostnamectl utilitásban a „get-xyz” és „set-xyz” parancsok eltávolították a „get” és „set” előtagokat, például a „hostnamectl get-hostname” és a „hostnamectl set-hostname” helyett a „hostnamectl hostname” parancs használható, amelynek értékét egy további argumentum megadásával lehet meghatározni („hostnamectl hostname value”). A régi parancsok támogatása megmaradt a kompatibilitás érdekében.
  • A systemd-detect-virt utilitásban és a ConditionVirtualization beállításban biztosított a megfelelő azonosítása az Amazon EC2 környezeteknek.
  • A LogLevelMax beállítás a unit fájlokban most már nemcsak a szolgáltatás által létrehozott naplóüzenetekre vonatkozik, hanem a PID 1 folyamatának üzeneteire is, amelyek említik a szolgáltatást.
  • Lehetővé vált az SBAT (UEFI Secure Boot Advanced Targeting) adatok bevonása a systemd-boot EFI PE fájlokba.
  • A /etc/crypttab fájlban új opciók kerültek bevezetésre: „headless” és „password-echo” — az első lehetővé teszi, hogy átugorjuk az összes felhasználói jelszó- és PIN-kérdés interaktív lekérdezését, a második pedig beállítja a jelszóbeírás megjelenítési módszerét (semmit nem mutatni, karakterenként mutatni és csillagokkal megjeleníteni). A systemd-ask-password eszközhöz hasonló célokra hozzáadva lett a „—echo” opció.
  • A systemd-cryptenroll, systemd-cryptsetup és systemd-homed eszközökben kibővült a támogatás a LUKS2 titkosított partíciók FIDO2-tokenekkel történő feloldásához. Új opciók kerültek bevezetésre: „—fido2-with-user-presence”, „—fido2-with-user-verification” és „—fido2-with-client-pin” a felhasználó fizikai jelenlétének ellenőrzésére, az azonosításra és a PIN-kód megadásának szükségességére vonatkozóan.
  • A systemd-journal-gatewayd eszközhöz hozzáadva lettek az „—user”, „—system”, „—merge” és „—file” opciók, amelyek hasonlóak a journalctl opcióihoz.
  • A unitok közötti közvetlen függőségek mellett, amelyeket az OnFailure és Slice paraméterek határoznak meg, hozzáadva lett a nem kifejezett visszafelé mutató függőségek támogatása az OnFailureOf és SliceOf opciók révén, amelyek hasznosak lehetnek például a slice-ba tartozó összes unit meghatározásához.
  • Új típusú függőségek kerültek bevezetésre a unitok között: OnSuccess és OnSuccessOf (az OnFailure ellentéte, amely sikeres befejezéskor aktiválódik); PropagatesStopTo és StopPropagatedFrom (lehetővé teszi, hogy a unit leállási eseményét egy másik unitra továbbítsa); Upholds és UpheldBy (alternatíva a Restart-ra).
  • A systemd-ask-password utilitásban megjelent a „—emoji” opció a jelszóbeviteli sorban a lakat szimbólum (🔐) megjelenésének kezelésére.
  • Dokumentáció készült a systemd forrásfái szerkezetéről.
  • A unit-okhoz hozzáadva a MemoryAvailable tulajdonság, amely megmutatja, mennyi memória marad a unit számára a MemoryMax, MemoryHigh vagy MemoryAvailable paraméterek által megállapított határ előtt.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster