Izdanje sistemskog menadžera systemd 249

Nakon tri mjeseca razvoja, predstavljena je nova verzija sistemskog menadžera systemd 249. U ovom izdanju omogućeno je određivanje korisnika/ grupa u JSON formatu, stabiliziran je protokol Journal, pojednostavljena je organizacija učitavanja izmjenjivih diskovnih particija, dodana je mogućnost vezivanja BPF programa uz servise, implementirana je mapa identifikatora korisnika u montiranim particijama, ponuđena je veća količina novih mrežnih postavki i mogućnosti za pokretanje kontejnera.

Glavne promjene:

  • Dokumentiran je protokol Journal, koji se može koristiti u klijentima umjesto protokola syslog za lokalnu isporuku zapisnika. Protokol Journal implementiran je već duže vremena i već se koristi u nekim klijentskim bibliotekama, no njegova službena podrška je tek sada objavljena.
  • U userdb i nss-systemd omogućeno je čitanje dodatnih definicija korisnika smještenih u direktorijima /etc/userdb/, /run/userdb/, /run/host/userdb/ i /usr/lib/userdb/, zapisani u JSON formatu. Napominje se da će ova mogućnost pružiti dodatni mehanizam za kreiranje korisnika u sustavu, osiguravajući potpunu integraciju s NSS i /etc/shadow. Podrška za JSON format za zapise korisnika/grupa također će omogućiti povezivanje raznih parametara upravljanja resursima i drugih postavki prepoznatih od strane pam_systemd i systemd-logind.
  • U nss-systemd osigurana je sinteza zapisa korisnika/grupe u /etc/shadow koristeći hashirane lozinke iz systemd-homed.
  • Implementiran je mehanizam koji pojednostavljuje organizaciju ažuriranja koristeći zamjenjive diskovne particije (jedna particija je aktivna, a druga rezervna — ažuriranje se kopira na rezervnu particiju, nakon čega ona postaje aktivna). Ako u diskovnoj slici postoje dvije korijenske ili /usr particije, a udev nije odredio prisutnost parametra ‘root=’ ili se obrađuju diskovne slike navedene putem opcije „—image” u alatima systemd-nspawn i systemd-dissect, particija za pokretanje može se izračunati usporedbom GPT oznaka (podrazumijeva se da u oznaci GPT treba biti spomenut broj verzije sadržaja particije i systemd će odabrati particiju s novijim promjenama).
  • U datoteke usluga dodana je postavka BPFProgram, koja omogućuje učitavanje BPF programa u jezgru i upravljanje njima povezujući ih s određenim systemd servisima.
  • U systemd-fstab-generator i systemd-repart dodana je mogućnost pokretanja s diskova koji imaju samo particiju /usr i nemaju korijensku particiju (korijenska particija će biti generirana pomoću alata systemd-repart tijekom prvog pokretanja).
  • U systemd-nspawn opcija "—private-user-chown" zamjenjena je sveobuhvatnijom varijantom "—private-user-ownership", koja može prihvatiti vrijednosti "chown" kao ekvivalent "—private-user-chown", "off" za isključivanje stare postavke, "map" za mapiranje identiteta korisnika u montiranim datotečnim sustavima i "auto" za odabir "map" kada postoji potrebna funkcionalnost u jezgru (5.12+) ili povratak na rekurzivni poziv "chown" u suprotnom. Pomoću mapiranja moguće je uskladiti datoteke jednog korisnika na montiranoj strane s drugim korisnikom u trenutnom sustavu, što pojednostavljuje dijeljenje datoteka između različitih korisnika. U mehanizmu prenosivih korisničkih direktorija systemd-homed, mapiranje će omogućiti korisnicima da premještaju svoje korisničke direktorije na vanjske uređaje i koriste ih na različitim računalima, čija raspodjela identiteta korisnika nije kompatibilna.
  • U systemd-nspawn, u opciji "—private-user" sada se može koristiti vrijednost "identity" za izravno odražavanje identiteta korisnika prilikom konfiguracije prostora imena (user namespace), tj. UID 0 i UID 1 u kontejneru bit će odraženi kao UID 0 i UID 1 na strani domaćina, radi smanjenja vektora napada (kontejner će dobiti privilegije procesa samo u svom prostoru imena).
  • U systemd-nspawn dodana je opcija "—bind-user" za prosljeđivanje u kontejner korisničkog računa koji postoji u okruženju domaćina (u kontejner se montira korisnički direktorij, dodaje se zapis korisnika/grupe i izvodi se mapiranje UID između kontejnera i okruženja domaćina).
  • U systemd-ask-password i systemd-sysusers dodana je podrška za zahtjev za postavljenim lozinkama (passwd.hashed-password.<user> i passwd.plaintext-password.<user>) pomoću mehanizma sigurnog prijenosa povjerljivih podataka korištenjem privremenih datoteka u zasebnom direktoriju, koji je uveden u izdanju systemd 247. Prema zadanim postavkama, vjerodajnice se prihvaćaju od procesa s PID1, koji ih dobiva, na primjer, od menadžera za upravljanje kontejnerima, što omogućuje postavljanje lozinke korisnika prilikom prvog pokretanja.
  • U systemd-firstboot dodana je podrška za korištenje mehanizma sigurnog prijenosa povjerljivih podataka za zahtjev raznih parametara sustava, što se može koristiti za inicijalizaciju sistemskih postavki pri prvom pokretanju slike kontejnera, u kojem nedostaju potrebne postavke u direktoriju /etc.
  • Tijekom pokretanja, proces PID 1 osigurava prikaz imena i opisa jedinice. Izlaz se može promijeniti putem parametra „StatusUnitFormat=combined“ u system.conf ili opcije komandne linije jezgre „systemd.status-unit-format=combined“.
  • U alate systemd-machine-id-setup i systemd-repart dodana je opcija „—image“ za prijenos datoteke s identifikatorom stroja u diskovne slike ili za povećanje veličine diskovne slike.
  • U datoteku konfiguracije particija, koju koristi alat systemd-repart, dodan je parametar MakeDirectories, koji se može koristiti za stvaranje proizvoljnih direktorija u stvorenoj datotečnom sustavu u fazi prije odražavanja u tablici particija (na primjer, za stvaranje direktorija za točke montiranja u korijenskom dijelu, kako bi se moglo odmah montirati particiju u režimu samo za čitanje). Za upravljanje GPT zastavicama u stvorenim particijama dodani su odgovarajući parametri Flags, ReadOnly i NoAuto. U parametru CopyBlocks implementirana je vrijednost „auto“ za automatski odabir trenutne pokretačke particije kao izvora prilikom kopiranja blokova (na primjer, kada je potrebno premjestiti vlastitu korijensku particiju na novi medij).
  • U GPT-u je implementirana zastavica „grow-file-system“, slična opciji montiranja x-systemd.growfs, koja omogućava automatsko proširenje veličine datotečnog sustava do granica blok uređaja, ako je veličina datotečnog sustava manja od particije. Zastavica se može primjenjivati na datotečne sustave Ext3, XFS i Btrfs i može se koristiti za automatski određene particije. Zastavica je prema zadanim postavkama uključena za dostupne za pisanje particije koje se automatski stvaraju putem systemd-repart. Za postavku zastavice u systemd-repart dodana je opcija GrowFileSystem.
  • U datoteci /etc/os-release implementirana je podrška za nove varijable IMAGE_VERSION i IMAGE_ID za određivanje verzije i identifikatora atomskih ažuriranih slika. Za umetanje navedenih vrijednosti u razne naredbe predloženi su specifikatori %M i %A.
  • U utilitiju portablectl dodan je parametar „—extension“ za aktivaciju prenosivih slika proširenja sustava (na primjer, putem njih se mogu distribuirati slike s dodatnim servisima integriranim u korijensku particiju).
  • U utilitiju systemd-coredump osigurano je izdvajanje ELF-informacije build-id prilikom formiranja core-dump-a procesa, što može biti korisno za određivanje kojem paketu pripada proces koji je izvršio pogrešku, ako su informacije o imenu i verziji deb- ili rpm-paketa ugrađene u ELF-datoteke.
  • U udev-u je dodana nova baza opreme za uređaje FireWire (IEEE 1394).
  • U udev-u su u shemu odabira imena mrežnih sučelja „net_id“ dodane tri promjene koje krše unatrag kompatibilnost: neispravni znakovi u imenima sučelja sada se zamjenjuju s „_“; imena PCI hotplug utora za sustave s390 obrađuju se u obliku heksadecimalnih brojeva; dopušteno je korištenje do 65535 ugrađenih PCI uređaja (ranije su se brojevi iznad 16383 blokirali).
  • U systemd-resolved dodan je domen „home.arpa“ na popis NTA (Negativni Trust Anchors), preporučen za lokalne kućne mreže, ali se ne koristi u DNSSEC-u.
  • U parametru CPUAffinity osiguran je razbor specifikatora „%“.
  • U datoteke „.network“ dodat je parametar ManageForeignRoutingPolicyRules, koji se može koristiti za isključenje obrade u systemd-networkd stranih pravila usmjeravanja.
  • U datoteke „.network“ dodat je parametar RequiredFamilyForOnline za određivanje prisutnosti IPv4 ili IPv6 adrese kao oznake stanja mrežnog sučelja „online“. U networkctl je osigurano prikazivanje stanja „online“ za svaku vezu.
  • U datotekama «.network» dodat je parametar OutgoingInterface za određivanje izlaznih sučelja prilikom postavljanja mrežnih mostova.
  • U datotekama «.network» dodat je parametar Group, koji omogućuje postavljanje grupe Multipath za zapise u odjeljcima «[NextHop]».
  • U systemd-network-wait-online dodane su opcije «-4» i «-6» za ograničavanje čekanja veze samo na IPv4 ili IPv6.
  • U postavke DHCP poslužitelja dodat je parametar RelayTarget, koji prebacuje poslužitelj u režim DHCP Ralay. Za dodatno podešavanje DHCP releja ponuđene su opcije RelayAgentCircuitId i RelayAgentRemoteId.
  • U DHCP poslužitelju dodat je parametar ServerAddress, koji omogućuje izričito postavljanje IP adrese poslužitelja (inače adresa se bira automatski).
  • U DHCP poslužitelju implementirana je sekcija [DHCPServerStaticLease], koja omogućuje postavljanje statičnih vezivanja adresa (DHCP leases), navodeći vezivanja fiksnih IP adresa za MAC adrese i obratno.
  • U postavci RestrictAddressFamilies implementirana je podrška za vrijednost «none», pri čemu servisu neće biti dostupni soketi bilo kojeg adresnog obitelji.
  • U datotekama «.network» u odjeljcima [Address], [DHCPv6PrefixDelegation] i [IPv6Prefix] implementirana je podrška za postavljanje RouteMetric, koja omogućuje određivanje metrike za prefiks rute, stvorenog za navedenu adresu.
  • U nss-myhostname i systemd-resolved osigurana je sinteza DNS zapisa s adresama za hostove sa posebnim imenom «_outbound», za koje se uvijek izdaje lokalni IP, odabran u skladu s zadanim rutama korištenim za izlazne veze.
  • U datotekama .network u odjeljak «[DHCPv4]» dodana je aktivna postavka po defaultu RoutesToNTP, koja nalaže dodavanje zasebne rute kroz trenutno mrežno sučelje za pristup adresi NTP poslužitelja, dobivenoj za to sučelje pomoću DHCP (analogno DNS postavci, omogućava jamstvo da će promet prema NTP poslužitelju biti usmjeren kroz sučelje, kroz koje je ova adresa dobivena).
  • Dodane su postavke SocketBindAllow i SocketBindDeny za upravljanje pristupom soketima, vezanim za trenutnu uslugu.
  • Za unit datoteke implementirana je uvjetna postavka ConditionFirmware, koja omogućuje stvaranje provjera, ocjenjujući funkcionalnost firmwarea, kao što je rad na sustavima UEFI i device.tree, kao i provjeru kompatibilnosti s određenim mogućnostima device-tree.
  • Implementirana je opcija ConditionOSRelease za provjeru polja u datoteci /etc/os-release. Pri definiranju uvjeta provjere vrijednosti polja dopušteni su operatori „=”, „!=”, „<“, „=”, „>.”
  • U alatu hostnamectl, naredbe tipa „get-xyz” i „set-xyz” su oslobođene prefiksa „get” i „set”, na primjer, umjesto „hostnamectl get-hostname” i „hostnamectl set-hostname” može se koristiti naredba „hostnamectl hostname”, pri čemu se dodavanje vrijednosti određuje navođenjem dodatnog argumenta („hostnamectl hostname value”). Podrška za stare naredbe očuvana je radi osiguravanja kompatibilnosti.
  • U alatu systemd-detect-virt i postavci ConditionVirtualization osigurana je ispravna identifikacija Amazon EC2 okruženja.
  • Postavka LogLevelMax u unit datotekama sada se primjenjuje ne samo na log poruke koje stvara servis, već i na poruke procesa PID 1, koje spominju servis.
  • Omogućena je opcija uključivanja podatka SBAT (UEFI Secure Boot Advanced Targeting) u systemd-boot EFI PE datoteke.
  • U /etc/crypttab implementirane su nove opcije „headless” i „password-echo” — prva omogućava preskočiti sve operacije vezane uz interaktivni upit za lozinkama i PIN-ovima korisnika, a druga omogućava postavljanje metode prikazivanja unosa lozinke (ne prikazivati ništa, prikazivati znak po znak i prikazivati zvjezdice). U systemd-ask-password za slične svrhe dodana je opcija „—echo”.
  • U sistemima systemd-cryptenroll, systemd-cryptsetup i systemd-homed proširena je podrška za otključavanje enkriptiranih LUKS2 particija pomoću FIDO2 tokena. Dodane su nove opcije „—fido2-with-user-presence”, „—fido2-with-user-verification” i „—fido2-with-client-pin” za upravljanje provjerom fizičkog prisustva korisnika, verifikacijom i potrebom za unosom PIN-a.
  • U systemd-journal-gatewayd dodane su opcije „—user”, „—system”, „—merge” i „—file”, slične onima iz journalctl.
  • Osim izravnih ovisnosti između jedinica, postavljenih putem parametara OnFailure i Slice, dodana je podrška za neizravne povratne ovisnosti OnFailureOf i SliceOf, koje mogu biti korisne, na primjer, za određivanje svih jedinica unutar slijeda.
  • Dodani su novi tipovi ovisnosti između jedinica: OnSuccess i OnSuccessOf (suprotno OnFailure, pokreće se nakon uspješnog završetka); PropagatesStopTo i StopPropagatedFrom (omogućuju širenje događaja zaustavljanja jedne jedinice na drugu jedinicu); Upholds i UpheldBy (alternativa Restart).
  • U utilitiju systemd-ask-password dodana je opcija „—emoji“ za upravljanje prikazom simbola zaključavanja (🔐) u unosu lozinke.
  • Dodana je dokumentacija o strukturi stabla izvornog koda systemd.
  • Za jedinice je dodana svojstvo MemoryAvailable, koje pokazuje koliko memorije ostaje jedinici prije nego što dostigne ograničenje postavljeno putem parametara MemoryMax, MemoryHigh ili MemoryAvailable.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster