systemd rendszerkezelő 248-es kiadás

Négy hónapos fejlesztés után bemutatják a rendszerkezelő systemd 248 kiadását. Az új kiadás támogatja a rendszerkönyvtárak bővítéséhez szükséges képfájlokat, az /etc/veritytab konfigurációs fájlt, a systemd-cryptenroll segédprogramot, a LUKS2 feloldását TPM2 chipek és FIDO2 segítségével. tokenek, egységek futtatása elszigetelt IPC azonosító térben, BATMAN protokoll mesh hálózatokhoz, nftables háttérrendszer a systemd-nspawn számára. A Systemd-oomd stabilizálva lett.

Nagy változások:

  • Megvalósult a System Extension lemezképek koncepciója, amellyel bővíthető az /usr/ és /opt/ könyvtárak hierarchiája, és futás közben további fájlok adhatók hozzá, még akkor is, ha a megadott könyvtárak csak olvasható módon vannak csatlakoztatva. Ha egy rendszerbővítmény-lemezkép fel van szerelve, annak tartalma az OverlayFS segítségével átfedődik az /usr/ és /opt/ hierarchiára.

    Egy új segédprogram, a systemd-sysext javasolt a rendszerbővítmények csatlakoztatására, leválasztására, megtekintésére és frissítésére. A rendszerindítás során a már telepített lemezképek automatikus csatlakoztatásához hozzáadásra került a systemd-sysext.service szolgáltatás. A "SYSEXT_LEVEL=" paraméter hozzáadva az os-release fájlhoz a támogatott rendszerbővítmények szintjének meghatározásához.

  • Az egységek esetében az ExtensionImages beállítást implementálták, amellyel rendszerbővítmény-képeket lehet kapcsolni az egyes izolált szolgáltatások FS névtér-hierarchiájához.
  • Hozzáadott /etc/veritytab konfigurációs fájl az adatok blokk szintű ellenőrzésének konfigurálásához a dm-verity modul használatával. A fájl formátuma hasonló az /etc/crypttab - "section_name device_for_data device_for_hashes check_hash_root options" fájlhoz. A systemd.verity.root_options kernel parancssori opció hozzáadva a dm-verity viselkedésének konfigurálásához a gyökéreszközhöz.
  • A systemd-cryptsetup lehetőséget ad a PKCS#11 token URI-jének és a titkosított kulcsnak a LUKS2 metaadatfejlécéből JSON formátumban történő kibontására, lehetővé téve a titkosított eszköz megnyitásával kapcsolatos információk integrálását az eszközbe külső fájlok bevonása nélkül.
  • A systemd-cryptsetup támogatja a LUKS2 titkosított partíciók feloldását TPM2 chipek és FIDO2 tokenek segítségével, a korábban támogatott PKCS#11 tokenek mellett. A libfido2 betöltése a dlopen()-en keresztül történik, azaz. A rendelkezésre állás ellenőrzése menet közben történik, nem pedig bekötött függőségként.
  • Új "no-write-workqueue" és "no-read-workqueue" opciók kerültek hozzáadásra az /etc/crypttab fájlhoz a systemd-cryptsetup számára, hogy lehetővé tegyék a titkosításhoz és a visszafejtéshez kapcsolódó I/O-k szinkron feldolgozását.
  • A systemd-repart segédprogram hozzáadta a titkosított partíciók TPM2 chipek használatával történő aktiválásának lehetőségét, például egy titkosított /var partíció létrehozásához az első rendszerindításkor.
  • A systemd-cryptenroll segédprogram hozzáadásra került a TPM2, FIDO2 és PKCS#11 tokenek LUKS partíciókhoz való kötésére, valamint a tokenek rögzítésének feloldására és megtekintésére, a tartalék kulcsok kötésére és a hozzáférési jelszó beállítására.
  • Hozzáadtuk a PrivateIPC paramétert, amely lehetővé teszi az egységfájl konfigurálását, hogy a folyamatokat egy elszigetelt IPC-területen fusson saját külön azonosítókkal és üzenetsorral. Egy egység egy már létrehozott IPC azonosító térhez való csatlakoztatásához az IPCNamespacePath opció javasolt.
  • ExecPaths és NoExecPaths beállítások hozzáadva lehetővé téve a noexec jelző alkalmazását a fájlrendszer bizonyos részein.
  • A systemd-networkd támogatja a BATMAN (Better Approach To Mobile Adhoc Networking) mesh protokollt, amely lehetővé teszi olyan decentralizált hálózatok létrehozását, amelyekben minden csomópont szomszédos csomópontokon keresztül csatlakozik. A konfigurációhoz a [BatmanAdvanced] szakasz a .netdev fájlban, a BatmanAdvanced paraméter a .network fájlokban, és egy új „batadv” eszköztípus javasolt.
  • Az alacsony memóriára vonatkozó korai válasz mechanizmus megvalósítása a systemd-oomd rendszerben stabilizálódott. Hozzáadtuk a DefaultMemoryPressureDurationSec beállítást, amellyel konfigurálhatja az erőforrások várakozási idejét, mielőtt az egységre hatással lenne. A Systemd-oomd a PSI (Pressure Stall Information) kernel alrendszert használja, és lehetővé teszi az erőforrások hiánya miatti késések észlelését és az erőforrás-igényes folyamatok szelektív leállítását olyan szakaszban, amikor a rendszer még nincs kritikus állapotban, és nem elkezdi intenzíven levágni a gyorsítótárat, és áthelyezi az adatokat a swap partícióba.
  • Hozzáadtuk a kernel „root=tmpfs” parancssori paraméterét, amely lehetővé teszi a gyökérpartíció csatlakoztatását a RAM-ban található ideiglenes tárolóba a Tmpfs használatával.
  • A kulcsfájlt meghatározó /etc/crypttab paraméter mostantól AF_UNIX és SOCK_STREAM foglalattípusokra mutathat. Ebben az esetben a sockethez való csatlakozáskor meg kell adni a kulcsot, amivel például dinamikusan kulcsokat kiadó szolgáltatásokat lehet létrehozni.
  • A rendszerkezelő és a systemd-hostnamed tartalék gazdagépneve most kétféleképpen állítható be: az OS-release DEFAULT_HOSTNAME paraméterével és a $SYSTEMD_DEFAULT_HOSTNAME környezeti változóval. A systemd-hostnamed a "localhost"-ot is kezeli a gazdagépnévben, és hozzáadja a gazdagépnév, valamint a "HardwareVendor" és a "HardwareModel" tulajdonságok DBus-on keresztüli exportálásának lehetőségét.
  • A közzétett környezeti változókat tartalmazó blokk mostantól a system.conf vagy a user.conf új ManagerEnvironment beállításával konfigurálható, nem csak a kernel parancssorában és az egységfájl beállításaiban.
  • Fordítási időben lehetőség van a fexecve() rendszerhívással a folyamatok elindítására az execve() helyett, hogy csökkentsük a biztonsági kontextus ellenőrzése és alkalmazása közötti késést.
  • Az egységfájlokhoz új feltételes műveletek, ConditionSecurity=tpm2 és ConditionCPUFeature kerültek hozzáadásra a TPM2 eszközök és az egyes CPU-képességek meglétének ellenőrzésére (például a ConditionCPUFeature=rdrand segítségével ellenőrizhető, hogy a processzor támogatja-e az RDRAND műveletet).
  • Az elérhető kerneleknél a seccomp szűrők rendszerhívási tábláinak automatikus generálása megtörtént.
  • Lehetőséget adtunk arra, hogy új kötési csatolásokat helyettesítsünk a szolgáltatások meglévő csatolási névtereivel a szolgáltatások újraindítása nélkül. A helyettesítés a „systemctl bind” parancsokkal történik ..." és "systemctl mount-image …”.
  • Támogatás hozzáadva az elérési utak megadásához a StandardOutput és StandardError beállításokban „csonkítás: » használat előtti tisztításhoz.
  • Hozzáadtuk a kapcsolat létrehozásának lehetőségét egy adott felhasználó munkamenetéhez az sd-bus helyi tárolójában. Például "systemctl -user -M lennart@ start quux".
  • A következő paraméterek vannak implementálva a systemd.link fájlokban a [Link] részben:
    • Promiscuous - lehetővé teszi, hogy az eszközt „promiscuous” módba kapcsolja az összes hálózati csomag feldolgozásához, beleértve azokat is, amelyek nem az aktuális rendszernek vannak címezve;
    • TransmitQueues és ReceiveQueues a TX és RX sorok számának beállításához;
    • TransmitQueueLength a TX sor méretének beállításához; GenericSegmentOffloadMaxBytes és GenericSegmentOffloadMaxSegment a GRO (Generic Receive Offload) technológia használatára vonatkozó korlátok beállításához.
  • Új beállításokat adtak hozzá a systemd.network fájlokhoz:
    • [Network] RouteTable útválasztási tábla kiválasztásához;
    • [RoutingPolicyRule] Írja be az útválasztás típusát ("blackhole, "unreachable", "prohibit");
    • [IPv6AcceptRA] RouteDenyList és RouteAllowList az engedélyezett és tiltott útvonalhirdetések listájához;
    • [DHCPv6] A DHCP által kiadott cím figyelmen kívül hagyásához használja azAddres-t;
    • [DHCPv6PrefixDelegation] ManageTemporaryAddress;
    • ActivationPolicy az interfész tevékenységére vonatkozó házirend meghatározásához (mindig tartsa fenn a UP vagy DOWN állapotot, vagy engedélyezze a felhasználó számára az állapotok megváltoztatását az „ip link set dev” paranccsal).
  • A [VLAN] protokoll, az IngressQOSMaps, az EgressQOSMaps és a [MACVLAN] BroadcastMulticastQueueLength beállítások hozzáadása a systemd.netdev fájlokhoz a VLAN-csomagfeldolgozás konfigurálásához.
  • A /dev/ könyvtár beillesztése leállt noexec módban, mivel ütközést okoz a végrehajtható jelző /dev/sgx fájlokkal való használatakor. A régi viselkedés visszaállításához használja a NoExecPaths=/dev beállítást.
  • A /dev/vsock fájl engedélyei 0o666-ra módosultak, a /dev/vhost-vsock és /dev/vhost-net fájlok pedig a kvm csoportba kerültek.
  • A hardverazonosító adatbázis USB-s ujjlenyomat-olvasókkal bővült, amelyek megfelelően támogatják az alvó üzemmódot.
  • systemd-resolved hozzáadott támogatás a DNSSEC-lekérdezésekre adott válaszok kibocsátásához egy csonkfeloldón keresztül. A helyi kliensek DNSSEC-ellenőrzést hajthatnak végre magukon, míg a külső kliensek változatlanul proxyt kapnak a szülő DNS-kiszolgálóhoz.
  • A CacheFromLocalhost beállítás hozzáadva a megoldott.conf fájlhoz, ha be van állítva, a systemd-resolved még a 127.0.0.1-es DNS-kiszolgáló hívásaihoz is gyorsítótárat fog használni (a kettős gyorsítótár elkerülése érdekében alapértelmezés szerint az ilyen kérések gyorsítótárazása le van tiltva).
  • A systemd-resolved támogatja az RFC-5001 NSID-eket a helyi DNS-feloldóban, lehetővé téve az ügyfelek számára, hogy különbséget tegyenek a helyi feloldóval és egy másik DNS-kiszolgálóval való interakció között.
  • A solvectl segédprogram megvalósítja az adatok forrásával kapcsolatos információk megjelenítését (helyi gyorsítótár, hálózati kérés, helyi processzor válasza), valamint a titkosítás használatát az adatok továbbításakor. A --cache, --synthesize, --network, --zone, --trust-anchor és --validate opciók a névmeghatározási folyamat szabályozására szolgálnak.
  • A systemd-nspawn a meglévő iptables támogatás mellett támogatja a tűzfal nftables használatával történő beállítását. A systemd-networkd IPmasquerade beállítása hozzáadta az nftables alapú háttérrendszer használatának lehetőségét.
  • A systemd-localed támogatja a locale-gen meghívását a hiányzó területi beállítások létrehozásához.
  • A --pager/-no-pager/-json= opciók különféle segédprogramokhoz kerültek a lapozási mód és a JSON formátumú kimenet engedélyezéséhez/letiltásához. Hozzáadtuk a terminálban használt színek számának beállítását a SYSTEMD_COLORS környezeti változón keresztül („16” vagy „256”).
  • A különálló könyvtárhierarchiákkal (split / és /usr) és cgroup v1 támogatással rendelkező build elavult.
  • A Gitben található mesterágat átnevezték 'master'-ről 'main'-ra.

Forrás: opennet.ru

Hozzászólás