Vydanie systémového správcu systemd 257

Po polroku vývoja bol predstavený release systémového správcu systemd 257. Kľúčové zmeny: nové nástroje systemd-sbsign a systemd-keyutil, podpora MPTCP pri aktivácii cez soket, počiatočná podpora zostavenia s C-knižnicou Musl, nástroj updatectl na správu inštalácie aktualizácií cez systemd-sysupdate, možnosť spúšťania služieb v samostatnom PID namespace, ochrana pred náhodným odstránením súborov pri použití „systemd-tmpfiles --purge“.

Medzi zmenami v novom vydaní:

  • Pridaný nový nástroj systemd-sbsign na overovanie digitálnych podpisov spustiteľných súborov vo formáte PE (Portable Executable), určených na použitie pri bootovaní v režime EFI Secure Boot. Na vytvorenie podpisu môžu byť použité enginy a provideri, ktoré poskytuje knižnica OpenSSL. Systemd-sbsign môže byť použitý ako alternatíva ku aplikáciám sbsigntool a pesign v nástroji ukify pri formovaní univerzálnych obrazov jadra UKI (Unified Kernel Image), ktoré kombinuje v jednom súbore bootloader pre UEFI (UEFI boot stub), obraz jadra Linux a načítané systémové prostredie initrd.
  • Pridaný nový nástroj systemd-keyutil, ktorý realizuje rôzne operácie s privátnymi kľúčmi a certifikátmi X.509. Napríklad, systemd-keyutil môže byť použitý na overenie možnosti načítania privátnych kľúčov a certifikátov, ako aj na extrakciu z nich verejných kľúčov vo formáte PEM.
  • V unit-och „.socket“, používaných na zabezpečenie fungovania mechanizmu aktivácie cez soket (spúšťanie procesov pri pokuse o vytvorenie sieťového spojenia), bola implementovaná podpora MPTCP (Multipath TCP), rozšírenia protokolu TCP na organizáciu činnosti TCP-spojenia s doručením paketov zároveň po viacerých trasách cez rôzne sieťové rozhrania priradené k rôznym IP adresy.
  • Boli zahrnuté zmeny potrebné na zostavenie s použitím štandardnej C-knižnice Musl.
  • Do rôznych komponentov systemd, ktoré zobrazujú indikátory pokroku pri vykonávaní operácií (napríklad systemd-repart, systemd-sysupdate/updatectl a importctl), bola pridaná možnosť používania ANSI sekvencií na animáciu zobrazenia pokroku. Takéto sekvencie zatiaľ podporujú iba Windows Terminal (predpokladá sa, že časom bude takáto možnosť prenesená aj do emulátorov terminálov pre Linux).
  • Možnosti komponentu systemd-sysupdate, ktorý sa používa na automatické zistenie, stiahnutie a inštaláciu aktualizácií pomocou atomárneho mechanizmu výmeny oddielov, súborov alebo priečinkov, boli rozšírené (používajú sa dva nezávislé oddiely/súbory/priečinky, z ktorých jeden obsahuje aktuálny pracovný zdroj a druhý sa aktualizuje, po čom sa oddiely/súbory/priečinky vymenia). V praxi sa systemd-sysupdate už používa v GNOME OS.

    Okrem procesu systemd-sysupdate bol pridaný rovnomenný servis, ktorý umožňuje používať D-Bus na spravovanie aktualizácie systému neprivilegovaným používateľom. Na správu servisu bola zahrnutá aj nová utilita updatectl. Do systemd-sysupdate bol pridaný flag „—offline“, ktorý zakazuje sťahovanie metadát zo siete a používa iba už stiahnuté verzie na lokálnom systéme. Pre všetky príkazy bola pridaná podpora výstupu vo formáte JSON.

  • Pre servisy bolo implementované nové vlastnosť „PrivatePIDs“, pomocou ktorej je možné organizovať spustenie procesov s PID 1 (init-proces) v samostatnom priestore identifikátorov procesov (PID namespace). Vytvorené prostredie pre spustený proces bude vidieť iba procesy z vytvoreného priestoru mien.
  • Do pravidiel udev bola pridaná podpora porovnávaní bez ohľadu na veľkosť písmen (napríklad, ‘ATTR{foo}==i"abcd"‘). Prostredníctvom udev sa poskytuje neprivilegovaným lokálnym používateľom prístup („uaccess“) k zariadeniu /dev/udmabuf, čo je potrebné na prácu s IPMI kamerami prostredníctvom libcamera. V udev bola zabezpečená rozpoznanie rôznych hardvérových kryptopeňaženiek s USB rozhraním a nastavenie vlastnosti ID_HARDWARE_WALLET, čo umožňuje aplikovať na ne režim „uaccess“ pre prístup neprivilegovaných používateľov.
  • Do súboru /etc/os-release boli pridané nové polia RELEASE_TYPE, EXPERIMENT a EXPERIMENT_URL. „RELEASE_TYPE“ môže nadobúdať hodnoty „experimental“, „development“, „stable“ a „lts“ na oddelenie stabilných verzií od tých, ktoré sú vo vývoji a experimentálnych zostáv. Parametre EXPERIMENT a EXPERIMENT_URL sú určené na objasnenie podstaty experimentálnej zostavy.
  • Do nástroja run0, vyvíjaného ako náhrada programu sudo, bola pridaná možnosť „—shell-prompt-prefix“, ktorá určuje reťazec-prefix príkazového riadku. Predvolene sa ako prefix zobrazuje emoji „🦸“ pre vizuálne zvýraznenie relácie s zvýšenými privilégiami.
  • V systemd-tmpfiles, aby sa predišlo omylom pri odstraňovaní nesprávnych súborov, sa možnosť „—purge“ teraz aplikuje iba na nastavenia v tmpfiles.d/, pre ktoré je explicitne nastavená značka „$“. Na vykonanie operácie „—purge“ je teraz tiež potrebné uviesť aspoň jeden súbor z adresára tmpfiles.d/. Pre riadky s typom ‘L’ bola pridaná značka ‘?’, pri ktorej zadaní sa symbolický odkaz vytvorí iba v prípade existencie cieľového súboru.
  • V správcovi služieb a prislúchajúcich nástrojoch bol pokračovaný prechod kódovania sledovania procesov na používanie PIDFD namiesto PID. Identifikátor PIDFD je viazaný na konkrétny proces a nemení sa, zatiaľ čo PID môže byť priradený inému procesu po dokončení aktuálneho procesu, ktorý je s týmto PID spojený.
  • Pre služby bola implementovaná možnosť uviesť v parametri „RestartMode“ hodnotu „debug“, pri ktorej sa reštart zlyhávajúcej služby vykoná s povoleným režimom ladenia (nastaví sa premenná prostredia DEBUG_INVOCATION=1), a hodnota LogLevelMax sa dočasne zvýši na úroveň ladenia.
  • V správcovi PID 1 bola implementovaná možnosť načítať pravidlá pre modul LSM IPE (Integrity Policy Enforcement), ktoré definujú politiku zabezpečenia integrity pre celý systém (aké operácie sú povolené a akým spôsobom by sa mala overovať autenticita komponentov).
  • Do unit-súborov „.timer“ bola pridaná voľba „DeferReactivation“, ktorá umožňuje preskočiť ďalšiu aktiváciu podľa časovača, ak služba ešte neskončila svoje vykonávanie od poslednej aktivácie.
  • V parametri unit-súborov PrivateUsers bola implementovaná možnosť uviesť hodnotu „identity“ na povolenie mapovania identifikátorov používateľov pri vytváraní priestoru názvov (user namespace).
  • Do parametra unit-súborov PrivateTmp bola pridaná podpora pre hodnotu „disconnected“, pri ktorej budú pre adresáre /tmp/ a /var/tmp/ použité samostatné inštancie tmpfs.
  • Do parametra unit súborov ProtectControlGroups bola pridaná podpora nových režimov „private“ a „strict“, pri ktorých sa pre službu vytvára nový priestor názvov cgroup (cgroup namespace) a montuje sa cgroupfs. Pri nastavení možnosti „strict“ sa montovanie cgroupfs vykonáva vo mode len na čítanie.
  • V parametroch StateDirectory, RuntimeDirectory, CacheDirectory, LogsDirectory a ConfigurationDirectory bola pridaná možnosť použitia príznaku ‘:ro’ na obmedzenie prístupu k príslušným adresárom režimom len na čítanie.
  • Do parametra príkazového riadku jadra „systemd.machine_id“ bola pridaná podpora hodnoty „firmware“, pri ktorej bude identifikátor systému (machine ID) vypočítaný na základe UUID z SMBIOS/DeviceTree.
  • Pri pridávaní podpory systémových volaní mseal(), listmount() a statmount(), ktoré sa objavili v nedávnych vydaniach jadra Linux.
  • Do utilít resolvectl, timedatectl a systemd-inhibit bola pridaná podpora interaktívnej autorizácie pomocou Polkit.
  • Do utilít systemctl bola pridaná možnosť použitia príznaku „—now“ v príkaze „reenable“.
  • Do utilít systemd-mount bola pridaná voľba „—json“ na výstup vo formáte JSON (napríklad pri uvedení spolu s „—list-devices“ sa vo formáte JSON zobrazí zoznam zariadení).
  • Do utilít „localectl“ boli pridané voľby „-l“ a „—full“ na zakázanie orezávania dlhých riadkov pri výstupe.
  • Do sleep.conf bola pridaná voľba HibernateOnACPower, ktorá umožňuje odložiť prechod do režimu spánku až do odpojenia zariadenia od stacionárneho zdroja napájania.
  • Do systemd-sysusers bola pridaná podpora modifikátora „!“ v riadkoch „u“, pomocou ktorého je možné vytvárať úplne zablokované používateľské účty (predtým na blokovanie používateľa sa používalo nastavenie neplatného hesla, čo napríklad neviedlo k zablokovaniu pri autentifikácii pomocou kľúčov v SSH).
  • Do systemd-coredump bola pridaná voľba „EnterNamespace“, ktorá poskytuje prístup k priestoru bodov montovania akýchkoľvek havarovaných procesov na získanie ich ladacích symbolov. V praxi môže byť táto voľba užitočná na usporiadanie spätného sledovania (backtrace) core súborov z aplikácií spúšťaných v izolovaných kontajneroch.
  • V systemd-logind je aktivovan spracovanie kombinácie Ctrl-Alt-Shift-Esc na odosielanie signálu org.freedesktop.login1.SecureAttentionKey komponentom používateľského prostredia so žiadosťou o zobrazenie dialógu bezpečného prihlásenia do systému. Bolo implementované nastavenie „DesignatedMaintenanceTime“ na automatické plánovanie vypnutia v určenom čase. Podobne ako podporuje zariadenia DRM a evdev bola pridaná podpora na nastavenie prístupu neprivilegovaných používateľov k zariadeniam hidraw (herným ovládačom a joystikom).
  • V systemd-machined bola pridaná podpora pre registráciu neprivilegovaných klientov virtuálních strojů a kontajnerov. Prístup k funkčnosti systemd-machined je poskytovaný prostredníctvom API Varlink, okrem D-Bus.
  • Do konfiguračného súboru networkd.conf bola pridaná nová sekcia „[IPv6AddressLabel]“ na nastavenie označení a prefixov pre adresy IPv6.
  • Do príkazu ‘networkctl edit’ bola pridaná voľba „—stdin“ na získanie obsahu súboru z štandardného vstupu. Do príkazov ‘networkctl edit’ a ‘networkctl cat’ bola pridaná podpora na editáciu a zobrazenie súborov .netdev cez určenie sieťového rozhrania. Pridaná bola voľba „—no-ask-password“ na vypnutie interaktívnej autorizácie.
  • Do utilít ukify, bootctl, systemd-keyutil, systemd-measure, systemd-repart a systemd-sbsign bola pridaná voľba „—certificate-source“ na načítanie certifikátu X.509 cez poskytovateľa OpenSSL namiesto priameho načítania zo súboru.
  • V systemd-boot bola pridaná možnosť využívať tlačidlá ovládania hlasitosti na pohybovanie sa hore a dole v bootovacom menu, čo môže byť užitočné na takých zariadeniach ako sú smartfóny. Do utilíty bootctl bola pridaná podpora na inštaláciu databázy UEFI Secure Boot vo formáte ESL(db/dbx/…) pre systemd-boot.
  • Do journalctl bola pridaná voľba „—list-invocation“ na zobrazenie zoznamu volaní jednotiek a voľba „—invocation“ („-I“) na zobrazenie logov súvisiacich iba s konkrétnym volaním.
  • V systemd-nspawn bola pridaná podpora neprivilegovaného používania FUSE (Filesystem in Userspace) v kontajneroch. Pri použití voľby „—bind-user“ je zabezpečený prenos SSH kľúčov používateľa do kontajnera, potrebný na prístup cez SSH.
  • V libsystemd bol pridaný nový programový rozhranie „sd-json“, ktoré využíva formát JSON, ako aj rozhranie „sd-varlink“, ktoré využíva IPC Varlink.
  • Odporúčaná základná verzia jadra bola zvýšená na vydanie 5.4, ktorého vydanie sa uskutočnilo v roku 2019. V nasledujúcom roku plánujú ukončiť podporu starších jadier a označiť vydanie 5.4 ako minimálne podporovanú základnú verziu.
  • Podpora cgroups v1 bola uznaná za zastaranú a je predvolene vypnutá (na jej aktiváciu v príkazovom riadku jadra je potrebné uviesť SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 okrem aktivácie v nastaveniach systemd). V nasledujúcom vydaní systemd 258 sa plánuje úplné odstránenie kódu súvisiaceho s cgroups v1. V verzii systemd 258 sa tiež plánuje odstránenie podpory skriptov služieb System V.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster