lëshimi i menaxherit të sistemit systemd 249

Pas tre muajsh zhvillimi, prezantohet lëshimi i menaxherit të sistemit systemd 249. Publikimi i ri ofron mundësinë e përcaktimit të përdoruesve/grupeve në formatin JSON, stabilizon protokollin Journal, thjeshton organizimin e ngarkimit të ndarjeve të njëpasnjëshme të diskut, shton aftësinë për të lidh programet BPF me shërbimet dhe zbaton përdoruesit e hartës së identifikuesve në ndarjet e montuara, ofrohet një pjesë e madhe e cilësimeve të reja të rrjetit dhe mundësive për lëshimin e kontejnerëve.

Ndryshimet kryesore:

  • Protokolli Journal është i dokumentuar dhe mund të përdoret në klientët në vend të protokollit syslog për dorëzimin lokal të regjistrave të regjistrit. Protokolli i Journal është zbatuar për një kohë të gjatë dhe përdoret tashmë në disa biblioteka klientësh, megjithatë, mbështetja e tij zyrtare sapo është shpallur.
  • Userdb dhe nss-systemd ofrojnë mbështetje për leximin e përkufizimeve shtesë të përdoruesve të vendosura në drejtoritë /etc/userdb/, /run/userdb/, /run/host/userdb/ dhe /usr/lib/userdb/, të specifikuara në formatin JSON. Vihet re se kjo veçori do të sigurojë një mekanizëm shtesë për krijimin e përdoruesve në sistem, duke i siguruar atij integrim të plotë me NSS dhe /etc/shadow. Mbështetja JSON për hyrjet e përdoruesve/grupeve do të lejojë gjithashtu menaxhimin e burimeve të ndryshme dhe cilësime të tjera t'u bashkëngjiten përdoruesve që njohin pam_systemd dhe systemd-login.
  • nss-systemd ofron sintezë të hyrjeve të përdoruesve/grupeve në /etc/shadow duke përdorur fjalëkalime të hashuara nga systemd-homed.
  • Është zbatuar një mekanizëm që thjeshton organizimin e përditësimeve duke përdorur ndarjet e diskut që zëvendësojnë njëra-tjetrën (njëra ndarje është aktive, dhe e dyta është rezervë - përditësimi kopjohet në ndarjen rezervë, pas së cilës bëhet aktiv). Nëse ka dy ndarje rrënjë ose /usr në imazhin e diskut, dhe udev nuk ka zbuluar praninë e parametrit 'root=', ose është duke përpunuar imazhet e diskut të specifikuara nëpërmjet opsionit "--image" në systemd-nspawn dhe systemd -dissect utilities, ndarja e nisjes mund të llogaritet duke krahasuar etiketat GPT (duke supozuar se etiketa GPT përmend numrin e versionit të përmbajtjes së ndarjes dhe systemd do të zgjedhë ndarjen me ndryshimet më të fundit).
  • Një cilësim BPFProgram është shtuar në skedarët e shërbimit, me të cilin mund të organizoni ngarkimin e programeve BPF në kernel dhe t'i menaxhoni ato duke u lidhur me shërbime specifike të sistemit.
  • Systemd-fstab-generator dhe systemd-repart shtojnë aftësinë për të nisur nga disqe që kanë vetëm një ndarje /usr dhe asnjë ndarje rrënjë (ndarja rrënjë do të gjenerohet nga systemd-repart gjatë nisjes së parë).
  • Në systemd-nspawn, opsioni "--private-user-chown" është zëvendësuar nga opsioni më gjenerik "--private-user-ownership", i cili mund të pranojë vlerat "chown" si ekuivalente të "-- private-user-chown", "off" për të çaktivizuar cilësimin e vjetër, "map" për të hartuar ID-të e përdoruesve në sistemet e skedarëve të montuar dhe "auto" për të zgjedhur "hartë" nëse funksionaliteti i kërkuar është i pranishëm në kernel (5.12+) ose kthehu prapa në një thirrje rekursive për të "chown" ndryshe. Duke përdorur hartën, mund të hartoni skedarët e një përdoruesi në një ndarje të huaj të montuar me një përdorues tjetër në sistemin aktual, duke e bërë më të lehtë ndarjen e skedarëve midis përdoruesve të ndryshëm. Në mekanizmin e direktorisë portative në shtëpi systemd-homed, hartëzimi do t'i lejojë përdoruesit të zhvendosin drejtoritë e tyre të shtëpisë në media të jashtme dhe t'i përdorin ato në kompjuterë të ndryshëm që nuk kanë të njëjtën strukturë ID të përdoruesit.
  • Në systemd-nspawn, opsioni "--private-user" tani mund të përdorë vlerën "identity" për të pasqyruar drejtpërdrejt ID-të e përdoruesve kur konfiguron një hapësirë ​​emri të përdoruesit, d.m.th. UID 0 dhe UID 1 në kontejner do të pasqyrohen në UID 0 dhe UID 1 në anën pritës, për të reduktuar vektorët e sulmit (kontejneri do të marrë vetëm aftësitë e procesit në hapësirën e tij të emrave).
  • Opsioni "--bind-user" është shtuar në systemd-nspawn për të përcjellë një llogari përdoruesi që ekziston në mjedisin pritës në kontejner (drejtoria kryesore është montuar në kontejner, shtohet një hyrje përdoruesi/grupi dhe hartimi i UID kryhet ndërmjet kontejnerit dhe mjedisit pritës).
  • Mbështetje e shtuar për të kërkuar fjalëkalime të caktuara për systemd-ask-password dhe systemd-sysusers (passwd.hashed-password. dhe passwd.plaintext-password. ) duke përdorur mekanizmin e futur në systemd 247 për të transferuar në mënyrë të sigurt të dhëna të ndjeshme duke përdorur skedarë të ndërmjetëm në një drejtori të veçantë. Si parazgjedhje, kredencialet pranohen nga procesi me PID1, i cili i merr ato, për shembull, nga menaxheri i menaxhimit të kontejnerit, i cili ju lejon të konfiguroni fjalëkalimin e përdoruesit në nisjen e parë.
  • systemd-firstboot shton mbështetje për përdorimin e mekanizmit të transferimit të sigurt të të dhënave të ndjeshme për të kërkuar parametra të ndryshëm të sistemit, të cilat mund të përdoren për të inicializuar cilësimet e sistemit kur fillimisht nisni një imazh të kontejnerit që nuk ka cilësimet e nevojshme në drejtorinë /etc.
  • Procesi PID 1 siguron që emri dhe përshkrimi i njësisë të shfaqen gjatë nisjes. Ju mund ta ndryshoni daljen nëpërmjet parametrit "StatusUnitFormat=combined" në system.conf ose opsionit të linjës së komandës kernel "systemd.status-unit-format=combined"
  • Opsioni "--image" është shtuar në programet systemd-machine-id-setup dhe systemd-repart për të transferuar një skedar me një ID makine në një imazh të diskut ose për të rritur madhësinë e një imazhi të diskut.
  • Një parametër MakeDirectories është shtuar në skedarin e konfigurimit të ndarjes së përdorur nga programi systemd-repart, i cili mund të përdoret për të krijuar drejtori arbitrare në sistemin e skedarëve të krijuar përpara se të pasqyrohet në tabelën e ndarjes (për shembull, për të krijuar drejtori për pikat e montimit në ndarjen rrënjë në mënyrë që të mund ta montoni menjëherë ndarjen në modalitetin vetëm për lexim). Për të kontrolluar flamujt GPT në seksionet e krijuara, janë shtuar parametrat përkatës Flags, ReadOnly dhe NoAuto. Parametri CopyBlocks ka një vlerë "auto" për të zgjedhur automatikisht ndarjen aktuale të nisjes si burim kur kopjoni blloqe (për shembull, kur ju duhet të transferoni ndarjen tuaj rrënjësore në media të reja).
  • GPT zbaton flamurin "grow-file-system", i cili është i ngjashëm me opsionin e montimit x-systemd.growfs dhe siguron zgjerim automatik të madhësisë FS deri në kufijtë e pajisjes së bllokut nëse madhësia e FS është më e vogël se ndarja. Flamuri është i zbatueshëm për sistemet e skedarëve Ext3, XFS dhe Btrfs dhe mund të aplikohet në ndarjet e zbuluara automatikisht. Flamuri aktivizohet si parazgjedhje për ndarjet e shkruajtshme të krijuara automatikisht nëpërmjet systemd-repart. Opsioni GrowFileSystem është shtuar për të konfiguruar flamurin në systemd-repart.
  • Skedari /etc/os-release ofron mbështetje për variablat e rinj IMAGE_VERSION dhe IMAGE_ID për të përcaktuar versionin dhe ID-në e imazheve të përditësuara në mënyrë atomike. Specifikuesit %M dhe %A propozohen për të zëvendësuar vlerat e specifikuara në komanda të ndryshme.
  • Parametri "--extension" është shtuar në programin portablectl për të aktivizuar imazhet e zgjerimit portativ të sistemit (për shembull, përmes tyre mund të shpërndani imazhe me shërbime shtesë të integruara në ndarjen rrënjësore).
  • Programi systemd-coredump siguron nxjerrjen e informacionit të build-id ELF kur gjeneron një depo bazë të një procesi, i cili mund të jetë i dobishëm për të përcaktuar se cilës paketë i përket një proces i dështuar nëse është ndërtuar informacioni rreth emrit dhe versionit të paketave deb ose rpm. në skedarët ELF.
  • Një bazë e re harduerike për pajisjet FireWire (IEEE 1394) është shtuar në udev.
  • Në udev, tre ndryshime janë shtuar në skemën e përzgjedhjes së emrave të ndërfaqes së rrjetit "net_id" që shkelin përputhshmërinë e prapambetur: karakteret e pasakta në emrat e ndërfaqes tani janë zëvendësuar me "_"; Emrat e slotave të prizës së nxehtësisë PCI për sistemet s390 përpunohen në formë heksadecimal; Lejohet përdorimi i deri në 65535 pajisjeve PCI të integruara (më parë ishin bllokuar numrat mbi 16383).
  • systemd-resolved shton domenin "home.arpa" në listën NTA (Negative Trust Anchors), i cili rekomandohet për rrjetet lokale të shtëpisë, por nuk përdoret në DNSSEC.
  • Parametri CPUAffinity siguron analizimin e specifikuesve "%".
  • Një parametër ManageForeignRoutingPolicyRules është shtuar në skedarët .network, i cili mund të përdoret për të përjashtuar systemd-networkd nga përpunimi i politikave të rrugëtimit të palëve të treta.
  • Parametri RequiredFamilyForOnline është shtuar në skedarët ".network" për të përcaktuar praninë e një adrese IPv4 ose IPv6 si shenjë se ndërfaqja e rrjetit është në gjendjen "online". Networkctl ofron një shfaqje të statusit "online" për secilën lidhje.
  • U shtua parametri OutgoingInterface në skedarët .network për të përcaktuar ndërfaqet dalëse kur konfiguroni urat e rrjetit.
  • Një parametër i grupit është shtuar në skedarët ".network", duke ju lejuar të konfiguroni një grup Multipath për hyrjet në seksionin "[NextHop]".
  • Opsionet e shtuara "-4" dhe "-6" në systemd-network-wait-online për të kufizuar pritjet e lidhjes vetëm në IPv4 ose IPv6.
  • Një parametër RelayTarget është shtuar në cilësimet e serverit DHCP, i cili e kalon serverin në modalitetin DHCP Ralay. Për konfigurim shtesë të stafetës DHCP, ofrohen opsionet RelayAgentCircuitId dhe RelayAgentRemoteId.
  • Parametri ServerAddress është shtuar në serverin DHCP, duke ju lejuar të vendosni në mënyrë eksplicite adresën IP të serverit (përndryshe adresa zgjidhet automatikisht).
  • Serveri DHCP zbaton seksionin [DHCPServerStaticLease], i cili ju lejon të konfiguroni lidhjet statike të adresave (DHCP leases), duke specifikuar lidhjet fikse IP për adresat MAC dhe anasjelltas.
  • Cilësimi RestrictAddressFamilies mbështet vlerën "asnjë", që do të thotë se shërbimi nuk do të ketë akses në prizat e asnjë familje adresash.
  • Në skedarët ".network" në seksionet [Address], [DHCPv6PrefixDelegation] dhe [IPv6Prefix], zbatohet mbështetja për cilësimin RouteMetric, i cili ju lejon të specifikoni metrikën për prefiksin e rrugës të krijuar për adresën e specifikuar.
  • nss-myhostname dhe systemd-resolved ofrojnë sintezë të të dhënave DNS me adresa për hostet me një emër të veçantë "_outbound", për të cilin gjithmonë lëshohet një IP lokale, e zgjedhur në përputhje me rrugët e paracaktuara të përdorura për lidhjet dalëse.
  • Në skedarët .network, në seksionin "[DHCPv4]", është shtuar një cilësim i parazgjedhur aktiv RoutesToNTP, i cili kërkon shtimin e një rruge të veçantë përmes ndërfaqes aktuale të rrjetit për të hyrë në adresën e serverit NTP të marrë për këtë ndërfaqe duke përdorur DHCP (të ngjashme me DNS , cilësimi ju lejon të garantoni që trafiku në serverin NTP do të drejtohet përmes ndërfaqes përmes së cilës është marrë kjo adresë).
  • U shtuan cilësimet e SocketBindAllow dhe SocketBindDeny për të kontrolluar aksesin në prizat e lidhura me shërbimin aktual.
  • Për skedarët e njësisë, është zbatuar një cilësim i kushtëzuar i quajtur ConditionFirmware, i cili ju lejon të krijoni kontrolle që vlerësojnë funksionet e firmuerit, të tilla si puna në sistemet UEFI dhe device.tree, si dhe të kontrolloni përputhshmërinë me aftësi të caktuara të pemës së pajisjes.
  • Zbatoi opsionin ConditionOSRelease për të kontrolluar fushat në skedarin /etc/os-release. Gjatë përcaktimit të kushteve për kontrollimin e vlerave të fushës, operatorët "=", "!=", "<", "<=", ">=", ">" janë të pranueshëm.
  • Në programin hostnamectl, komandat si "get-xyz" dhe "set-xyz" lirohen nga prefikset "get" dhe "set", për shembull, në vend të "hostnamectl get-hostname" dhe "hostnamectl "set-hostname" ju mund të përdorni komandën "hostnamectl hostname" , caktimi i një vlere në të cilën përcaktohet duke specifikuar një argument shtesë ("hostnamectl vlera e emrit të hostit"). Mbështetja për komandat e vjetra është ruajtur për të siguruar përputhshmëri.
  • Programi systemd-detect-virt dhe cilësimi ConditionVirtualization sigurojnë identifikimin e saktë të mjediseve të Amazon EC2.
  • Cilësimi LogLevelMax në skedarët e njësisë tani zbatohet jo vetëm për mesazhet e regjistrit të krijuara nga shërbimi, por edhe për mesazhet e procesit PID 1 që përmendin shërbimin.
  • Ofron mundësinë për të përfshirë të dhënat SBAT (UEFI Secure Boot Advanced Targeting) në skedarët EFI PE systemd-boot.
  • /etc/crypttab zbaton opsionet e reja "pa kokë" dhe "password-echo" - e para ju lejon të kapërceni të gjitha operacionet që lidhen me nxitjen në mënyrë interaktive për fjalëkalime dhe PIN nga përdoruesi, dhe e dyta ju lejon të konfiguroni metodën për shfaqjen e futjes së fjalëkalimit (tregoni asgjë, tregoni karakter për karakter dhe shfaqni yjet). Opsioni "--echo" është shtuar në systemd-ask-password për qëllime të ngjashme.
  • systemd-cryptenroll, systemd-cryptsetup dhe systemd-homed kanë zgjeruar mbështetjen për zhbllokimin e ndarjeve të koduara LUKS2 duke përdorur tokenat FIDO2. U shtuan opsione të reja "--fido2-me-user-presence", "--fido2-with-user-verification" dhe "-fido2-with-client-pin" për të kontrolluar verifikimin e pranisë fizike të përdoruesit, verifikimin dhe nevojën për të hyrë një kod PIN.
  • U shtuan opsionet "--user", "--system", "--merge" dhe "--file" në systemd-journal-gatewayd, të ngjashme me opsionet journalctl.
  • Përveç varësive të drejtpërdrejta midis njësive të specifikuara përmes parametrave OnFailure dhe Slice, është shtuar mbështetje për varësitë inverse të nënkuptuara OnFailureOf dhe SliceOf, të cilat mund të jenë të dobishme, për shembull, për përcaktimin e të gjitha njësive të përfshira në fetë.
  • U shtuan lloje të reja varësish midis njësive: OnSuccess dhe OnSuccessOf (e kundërta e OnFailure, e quajtur pas përfundimit të suksesshëm); PropagatesStopTo dhe StopPropagatedFrom (ju lejojnë të përhapni ngjarjen e ndalimit të një njësie në një njësi tjetër); Upholds dhe UpheldBy (alternativë për Rinisjen).
  • Programi systemd-pyet-password tani ka një opsion "--emoji" për të kontrolluar pamjen e simbolit të drynit (🔐) në linjën e futjes së fjalëkalimit.
  • Dokumentacioni i shtuar mbi strukturën e pemës së sistemit të burimit.
  • Për njësitë, është shtuar një veti MemoryAvailable, e cila tregon se sa memorie i ka mbetur njësia përpara se të arrijë kufirin e vendosur përmes parametrave MemoryMax, MemoryHigh ose MemoryAvailable.

Burimi: opennet.ru

Shto një koment