systemd rendszerkezelő 249-es kiadás

Három hónapos fejlesztés után bemutatásra kerül a rendszerkezelő systemd 249 kiadása, amely lehetővé teszi a felhasználók/csoportok JSON formátumban történő meghatározását, stabilizálja a Journal protokollt, leegyszerűsíti az egymást követő lemezpartíciók betöltésének szervezését, hozzáadja a összekapcsolja a BPF programokat a szolgáltatásokkal, és megvalósítja a felhasználók azonosító leképezését a csatlakoztatott partíciókban, új hálózati beállítások és konténerek indításának nagy részét kínálják.

Nagy változások:

  • A Napló protokoll dokumentált, és az ügyfelekben használható a syslog protokoll helyett a naplórekordok helyi kézbesítésére. A Journal protokollt már régóta alkalmazzák, néhány klienskönyvtárban már használják, hivatalos támogatását azonban csak most jelentették be.
  • A Userdb és az nss-systemd támogatja a JSON formátumban megadott /etc/userdb/, /run/userdb/, /run/host/userdb/ és /usr/lib/userdb/ könyvtárban található további felhasználói definíciók olvasását. Megjegyzendő, hogy ez a funkció egy további mechanizmust biztosít a felhasználók létrehozásához a rendszerben, teljes integrációt biztosítva az NSS-sel és az /etc/shadow-val. A felhasználók/csoportok bejegyzéseinek JSON-támogatása lehetővé teszi különböző erőforrás-kezelési és egyéb beállítások társítását a pam_systemd és systemd-login által felismert felhasználókhoz.
  • Az nss-systemd a /etc/shadow könyvtárban található felhasználói/csoportos bejegyzések szintézisét biztosítja a systemd-homed kivonatolt jelszavaival.
  • Olyan mechanizmust valósítottak meg, amely leegyszerűsíti a frissítések megszervezését az egymást helyettesítő lemezpartíciókkal (az egyik partíció aktív, a második pedig tartalék - a frissítés átmásolódik a tartalék partícióra, majd az aktívvá válik). Ha két gyökér vagy /usr partíció van a lemezképben, és az udev nem észlelte a 'root=' paraméter jelenlétét, vagy a systemd-nspawn és systemd "--image" paraméterével megadott lemezképeket dolgozza fel -dissect segédprogramok esetén a rendszerindító partíció kiszámítható a GPT címkék összehasonlításával (feltételezve, hogy a GPT címke megemlíti a partíció tartalmának verziószámát, és a systemd kiválasztja azt a partíciót, amelyen a legutóbbi módosítások vannak).
  • A szolgáltatásfájlokhoz egy BPFProgram beállítás került, amellyel megszervezheti a BPF programok kernelbe való betöltését és kezelheti azokat meghatározott systemd szolgáltatásokhoz való kötéssel.
  • A Systemd-fstab-generator és a systemd-repart lehetőséget ad a rendszerindításra olyan lemezekről, amelyeken csak /usr partíció van, és nincs root partíció (a root partíciót a systemd-repart hozza létre az első rendszerindításkor).
  • A systemd-nspawnban a "--private-user-chown" opciót az általánosabb "--private-user-ownership" opció váltotta fel, amely a "chown" értékeket a "--" megfelelőjeként tudja elfogadni. private-user-chown", "off" a régi beállítás letiltásához, "map" a felhasználói azonosítók leképezéséhez a csatlakoztatott fájlrendszereken és az "auto" a "map" kiválasztásához, ha a szükséges funkcionalitás megtalálható a kernelben (5.12+), vagy visszaesik a "chown" rekurzív hívása egyébként. A leképezés segítségével leképezheti az egyik felhasználó fájljait egy felcsatolt idegen partíción egy másik felhasználóhoz az aktuális rendszeren, így könnyebben megoszthatja a fájlokat a különböző felhasználók között. A systemd-homed hordozható otthoni címtármechanizmusban a leképezés lehetővé teszi a felhasználók számára, hogy saját könyvtáraikat külső adathordozóra helyezzék át, és különböző számítógépeken használják, amelyek nem rendelkeznek azonos felhasználói azonosító elrendezéssel.
  • A systemd-nspawn-ban a "--private-user" opció most már használhatja az "identity" értéket, hogy közvetlenül tükrözze a felhasználói azonosítókat a felhasználói névtér beállításakor, pl. A tárolóban lévő UID 0 és UID 1 megjelenik a gazdaoldali UID 0-ban és UID 1-ben a támadási vektorok csökkentése érdekében (a tároló csak a névterében kap folyamatképességeket).
  • A „--bind-user” opció hozzáadásra került a systemd-nspawn-hoz, amely a gazdagép környezetben meglévő felhasználói fiókot továbbítja a tárolóba (a kezdőkönyvtár be van illesztve a tárolóba, hozzáadódik egy felhasználó/csoport bejegyzés, és UID-leképezés a tároló és a gazdakörnyezet között történik).
  • Támogatás hozzáadva a systemd-ask-password és systemd-sysusers jelszavak beállításához (passwd.hashed-password. és a passwd.plaintext-password. ). Alapértelmezés szerint a hitelesítési adatokat a PID247-gyel fogadja el a folyamat, amely megkapja azokat például a tárolókezelés-kezelőtől, amely lehetővé teszi a felhasználói jelszó konfigurálását az első rendszerindításkor.
  • A systemd-firstboot támogatja az érzékeny adatok biztonságos átviteli mechanizmusának használatát különböző rendszerparaméterek lekérdezéséhez, amelyek segítségével inicializálhatók a rendszerbeállítások olyan tárolókép első indításakor, amely nem rendelkezik a szükséges beállításokkal az /etc könyvtárban.
  • A PID 1 folyamat biztosítja, hogy az egység neve és leírása is megjelenjen a rendszerindítás során. A kimenetet a system.conf fájl „StatusUnitFormat=combined” paraméterével vagy a kernel „systemd.status-unit-format=combined” parancssori paraméterével módosíthatja.
  • A "--image" opció hozzáadásra került a systemd-machine-id-setup és systemd-repart segédprogramokhoz, hogy a gépazonosítóval rendelkező fájlokat lemezképre vigye át, vagy megnövelje a lemezkép méretét.
  • A rendszerd-repart segédprogram által használt partíciókonfigurációs fájlhoz hozzáadásra került egy MakeDirectories paraméter, amellyel tetszőleges könyvtárak hozhatók létre a létrehozott fájlrendszerben, mielőtt az megjelenne a partíciós táblában (például könyvtárak létrehozása a beillesztési pontokhoz a gyökérpartíciót, hogy azonnal felcsatolhassa a partíciót csak olvasható módban). A GPT-jelzők vezérléséhez a létrehozott szakaszokban a megfelelő Flags, ReadOnly és NoAuto paraméterek kerültek hozzáadásra. A CopyBlocks paraméter értéke „auto” annak érdekében, hogy a blokkok másolásakor automatikusan az aktuális rendszerindító partíciót válassza ki forrásként (például amikor saját gyökérpartíciót kell átvinnie új adathordozóra).
  • A GPT megvalósítja a „grow-file-system” jelzőt, amely hasonló az x-systemd.growfs beillesztési opcióhoz, és biztosítja az FS méretének automatikus kiterjesztését a blokkeszköz határaira, ha az FS mérete kisebb, mint a partíció. A jelző Ext3, XFS és Btrfs fájlrendszerekre vonatkozik, és alkalmazható az automatikusan észlelt partíciókra is. A jelző alapértelmezés szerint engedélyezve van a systemd-repart segítségével automatikusan létrehozott írható partíciókhoz. A GrowFileSystem beállítás hozzáadva a jelző konfigurálásához a systemd-repart fájlban.
  • Az /etc/os-release fájl támogatja az új IMAGE_VERSION és IMAGE_ID változókat az atomszerűen frissített képek verziójának és azonosítójának meghatározásához. A %M és %A specifikátorok a megadott értékeket különféle parancsokba helyettesítik.
  • A „--extension” paraméter hozzáadásra került a portablectl segédprogramhoz a hordozható rendszerbővítmény-képfájlok aktiválásához (például rajtuk keresztül terjesztheti a képeket a gyökérpartícióba integrált további szolgáltatásokkal).
  • A systemd-coredump segédprogram biztosítja az ELF build-id információinak kinyerését egy folyamat alapkiíratásának generálásakor, ami hasznos lehet annak meghatározásában, hogy a meghibásodott folyamat melyik csomaghoz tartozik, ha a deb vagy rpm csomagok nevére és verziójára vonatkozó információ készült. az ELF-fájlokba.
  • Az udev új hardverbázissal bővült a FireWire (IEEE 1394) eszközökhöz.
  • Az udevben három olyan változtatást adtunk a „net_id” hálózati interfész névkiválasztási sémájához, amelyek sértik a visszamenőleges kompatibilitást: az interfésznevekben a helytelen karaktereket most „_”-ra cseréljük; Az s390 rendszerek PCI hotplug bővítőhelyneveinek feldolgozása hexadecimális formában történik; Legfeljebb 65535 beépített PCI-eszköz használata megengedett (korábban az 16383 feletti számok blokkolva voltak).
  • A systemd-resolved hozzáadja a „home.arpa” tartományt az NTA (negatív megbízhatósági horgonyok) listához, amely a helyi otthoni hálózatokhoz ajánlott, de a DNSSEC-ben nem használatos.
  • A CPUAffinity paraméter biztosítja a „%” specifikációk elemzését.
  • A .network fájlokhoz egy ManageForeignRoutingPolicyRules paraméter került, amellyel kizárható a systemd-networkd a harmadik féltől származó útválasztási házirendek feldolgozásából.
  • A RequiredFamilyForOnline paraméter hozzáadásra került a „.network” fájlokhoz, hogy meghatározza az IPv4- vagy IPv6-címek jelenlétét annak jeleként, hogy a hálózati interfész „online” állapotban van. A Networkctl megjeleníti az egyes hivatkozások „online” állapotát.
  • OutgoingInterface paraméter hozzáadva a .network fájlokhoz a kimenő interfészek meghatározásához a hálózati hidak konfigurálásakor.
  • A „.network” fájlokhoz hozzáadtunk egy Csoport paramétert, amely lehetővé teszi egy többutas csoport konfigurálását a „[NextHop]” szakasz bejegyzéseihez.
  • A "-4" és a "-6" opciók hozzáadva a systemd-network-wait-online-hoz, hogy korlátozzák a csatlakozási várakozásokat csak IPv4-re vagy IPv6-ra.
  • Egy RelayTarget paraméter került hozzáadásra a DHCP szerver beállításaihoz, amely átkapcsolja a szervert DHCP Ralay módba. A DHCP relé további konfigurálásához a RelayAgentCircuitId és RelayAgentRemoteId opciók állnak rendelkezésre.
  • A ServerAddress paraméter hozzáadásra került a DHCP-kiszolgálóhoz, amely lehetővé teszi a szerver IP-címének explicit beállítását (ellenkező esetben a cím automatikusan kiválasztásra kerül).
  • A DHCP-kiszolgáló megvalósítja a [DHCPServerStaticLease] szakaszt, amely lehetővé teszi statikus cím-összerendelések (DHCP-bérletek) konfigurálását, rögzített IP-összerendelések megadását a MAC-címekhez és fordítva.
  • A RestrictAddressFamilies beállítás támogatja a „none” értéket, ami azt jelenti, hogy a szolgáltatás egyetlen címcsalád socketjéhez sem fog hozzáférni.
  • A „.network” fájlokban a [Address], [DHCPv6PrefixDelegation] és [IPv6Prefix] szakaszban a RouteMetric beállítás támogatása megvalósul, amely lehetővé teszi a megadott címhez létrehozott útvonal előtag metrikájának megadását.
  • Az nss-myhostname és a systemd-resolved DNS-rekordok szintézisét biztosítják a speciális „_outbound” nevű gazdagépek címeivel, amelyekhez mindig egy helyi IP-cím kerül kiadásra, amelyet a kimenő kapcsolatokhoz használt alapértelmezett útvonalaknak megfelelően választanak ki.
  • A .network fájlokban a „[DHCPv4]” szakaszban egy alapértelmezett aktív RoutesToNTP beállítás került hozzáadásra, amelyhez külön útvonal hozzáadása szükséges az aktuális hálózati interfészen keresztül, hogy hozzáférjen az ehhez az interfészhez kapott NTP-szerver címéhez DHCP-n keresztül (hasonlóan a DNS-hez). , a beállítás lehetővé teszi annak garantálását, hogy az NTP-szerverre irányuló forgalom azon az interfészen keresztül lesz irányítva, amelyen keresztül ez a cím érkezett).
  • Hozzáadott SocketBindAllow és SocketBindDeny beállítások az aktuális szolgáltatáshoz kötött socketekhez való hozzáférés szabályozásához.
  • Az egységfájlok esetében a ConditionFirmware elnevezésű feltételes beállítást implementálták, amely lehetővé teszi a firmware-funkciókat kiértékelő ellenőrzések készítését, például az UEFI és device.tree rendszereken végzett munkát, valamint bizonyos eszközfa-képességekkel való kompatibilitás ellenőrzését.
  • Megvalósította a ConditionOSRelease beállítást az /etc/os-release fájl mezőinek ellenőrzéséhez. A mezőértékek ellenőrzési feltételeinek meghatározásakor a „=”, „!=”, „<”, „<=”, „>=”, „>” operátorok elfogadhatók.
  • A hostnameectl segédprogramban az olyan parancsok, mint a „get-xyz” és „set-xyz” felszabadulnak a „get” és „set” előtagoktól, például a „hostnamectl get-hostname” és „hostnamectl „set-hostname” helyett. használhatja a „hostnamectl hostname” parancsot, amelyben az érték hozzárendelését egy további argumentum (“hostnamectl hostname value”) megadásával határozzuk meg. A kompatibilitás biztosítása érdekében megmaradt a régebbi parancsok támogatása.
  • A systemd-detect-virt segédprogram és a ConditionVirtualization beállítás biztosítja az Amazon EC2 környezetek helyes azonosítását.
  • Az egységfájlok LogLevelMax beállítása mostantól nemcsak a szolgáltatás által generált naplóüzenetekre vonatkozik, hanem a szolgáltatást megemlítő PID 1 folyamatüzenetekre is.
  • Lehetővé teszi az SBAT (UEFI Secure Boot Advanced Targeting) adatok systemd-boot EFI PE fájlokba való belefoglalását.
  • Az /etc/crypttab új „headless” és „password-echo” opciókat valósít meg – az első lehetővé teszi a jelszavak és PIN-kódok interaktív bekérésével kapcsolatos összes művelet kihagyását, a második pedig lehetővé teszi a jelszóbeviteli mód konfigurálását. (semmit mutasson, karakterenként mutasson és csillagokat jelenítsen meg). A „--echo” opció hasonló célból került hozzáadásra a systemd-ask-password-hoz.
  • A systemd-cryptenroll, a systemd-cryptsetup és a systemd-homed kiterjesztett támogatást nyújt a titkosított LUKS2 partíciók feloldásához FIDO2 tokenekkel. Új „--fido2-a-felhasználói jelenléttel”, „--fido2-felhasználó-ellenőrzéssel” és „-fido2-a-kliens-pin” opciókkal vezérelhető a felhasználói fizikai jelenlét ellenőrzése, ellenőrzése és a belépés szükségessége. egy PIN kódot.
  • Hozzáadtuk a „--user”, „--system”, „--merge” és „--file” opciókat a systemd-journal-gatewayd-hez, hasonlóan a journalctl opciókhoz.
  • Az OnFailure és Slice paraméterekkel megadott egységek közötti közvetlen függőségek mellett az OnFailureOf és SliceOf implicit inverz függőségek támogatása is hozzáadásra került, ami hasznos lehet például a szeletben szereplő összes egység meghatározásához.
  • Új típusú függőségek hozzáadva az egységek között: OnSuccess és OnSuccessOf (az OnFailure ellentéte, amelyet sikeres befejezéskor hívnak meg); PropagatesStopTo és StopPropagatedFrom (lehetővé teszi egy egység leállítási eseményének terjesztését egy másik egységre); Upholds és UpheldBy (az Újraindítás alternatívája).
  • A systemd-ask-password segédprogram mostantól rendelkezik egy „--emoji” opcióval, amellyel szabályozhatja a lakat szimbólum (🔐) megjelenését a jelszóbeviteli sorban.
  • Hozzáadott dokumentáció a systemd forrásfa szerkezetéhez.
  • Az egységeknél egy MemoryAvailable tulajdonság került hozzáadásra, amely megmutatja, hogy mennyi memóriája maradt az egységnek, mielőtt eléri a MemoryMax, MemoryHigh vagy MemoryAvailable paraméterekkel beállított korlátot.

Forrás: opennet.ru

Hozzászólás