systemd sistem menadžer izdanje 249

Nakon tri mjeseca razvoja, predstavljeno je izdanje sistem menadžera systemd 249. Novo izdanje pruža mogućnost definiranja korisnika/grupa u JSON formatu, stabilizira Journal protokol, pojednostavljuje organizaciju učitavanja uzastopnih particija diska, dodaje mogućnost povezuje BPF programe sa servisima i implementira mapiranje identifikatora korisnika u montiranim particijama, nudi se veliki dio novih mrežnih postavki i mogućnosti za pokretanje kontejnera.

Glavne promjene:

  • Protokol dnevnika je dokumentiran i može se koristiti u klijentima umjesto syslog protokola za lokalnu isporuku zapisa dnevnika. Protokol Journal je već dugo implementiran i već se koristi u nekim klijentskim bibliotekama, međutim, njegova zvanična podrška je tek najavljena.
  • Userdb i nss-systemd pružaju podršku za čitanje dodatnih korisničkih definicija koje se nalaze u direktorijima /etc/userdb/, /run/userdb/, /run/host/userdb/ i /usr/lib/userdb/, navedenim u JSON formatu. Napominje se da će ova funkcija pružiti dodatni mehanizam za kreiranje korisnika u sistemu, obezbjeđujući mu potpunu integraciju sa NSS-om i /etc/shadow. JSON podrška za unose korisnika/grupa će također omogućiti da se različito upravljanje resursima i druge postavke pridruže korisnicima koje pam_systemd i systemd-logind prepoznaju.
  • nss-systemd obezbeđuje sintezu unosa korisnika/grupe u /etc/shadow koristeći heširane lozinke iz systemd-homed.
  • Implementiran je mehanizam koji pojednostavljuje organizaciju ažuriranja pomoću particija diska koje zamjenjuju jedna drugu (jedna particija je aktivna, a druga rezervna - ažuriranje se kopira na rezervnu particiju, nakon čega postaje aktivno). Ako u slici diska postoje dvije root ili /usr particije, a udev nije otkrio prisustvo parametra 'root=' ili obrađuje slike diska specificirane preko opcije "--image" u systemd-nspawn i systemd -disect utilities, particija za pokretanje može se izračunati upoređivanjem GPT oznaka (pod pretpostavkom da GPT oznaka spominje broj verzije sadržaja particije i da će systemd izabrati particiju sa novijim promjenama).
  • Servisnim datotekama je dodana postavka BPFPrograma, pomoću koje možete organizirati učitavanje BPF programa u kernel i upravljati njima uz vezivanje za određene sistemske usluge.
  • Systemd-fstab-generator i systemd-repart dodaju mogućnost pokretanja sa diskova koji imaju samo /usr particiju i bez root particije (root particiju će generisati systemd-repart tokom prvog pokretanja).
  • U systemd-nspawn, opcija "--private-user-chown" je zamijenjena opcijom generičnije "--private-user-ownership", koja može prihvatiti "chown" vrijednosti kao ekvivalent "-- private-user-chown", "off" da onemogućite staru postavku, "map" za mapiranje korisničkih ID-ova na montiranim sistemima datoteka i "auto" za odabir "map" ako je potrebna funkcionalnost prisutna u kernelu (5.12+) ili vratite nazad na rekurzivni poziv na "chown" inače. Koristeći mapiranje, možete mapirati datoteke jednog korisnika na montiranoj stranoj particiji na drugog korisnika na trenutnom sistemu, što olakšava različitim korisnicima da dijele datoteke. U mehanizmu prijenosnog kućnog imenika systemd-homed, mapiranje će omogućiti korisnicima da premjeste svoje kućne direktorije na vanjski medij i koriste ih na različitim računarima koji nemaju isti izgled korisničkog ID-a.
  • U systemd-nspawn, opcija "--private-user" sada može koristiti vrijednost "identity" da direktno odražava korisničke ID-ove prilikom postavljanja korisničkog imenskog prostora, tj. UID 0 i UID 1 u kontejneru će se odraziti u UID 0 i UID 1 na strani domaćina, kako bi se smanjili vektori napada (kontejner će primati mogućnosti procesa samo u svom imenskom prostoru).
  • Opcija “--bind-user” je dodana u systemd-nspawn za prosljeđivanje korisničkog naloga koji postoji u okruženju hosta u kontejner (matični direktorij je montiran u kontejner, dodat je unos korisnika/grupe i mapiranje UID-a se izvodi između kontejnera i okruženja domaćina).
  • Dodata podrška za traženje postavljenih lozinki za systemd-ask-password i systemd-sysusers (passwd.hashed-password. i passwd.plaintext-password. ) koristeći mehanizam uveden u systemd 247 za siguran prijenos osjetljivih podataka koristeći međufajlove u zasebnom direktoriju. Po defaultu, vjerodajnice se prihvataju iz procesa sa PID1, koji ih prima, na primjer, od upravitelja upravljanja kontejnerima, koji vam omogućava da konfigurirate korisničku lozinku pri prvom pokretanju.
  • systemd-firstboot dodaje podršku za korištenje mehanizma sigurnog prijenosa osjetljivih podataka za upite različitih sistemskih parametara, koji se mogu koristiti za inicijalizaciju sistemskih postavki prilikom prvog pokretanja slike kontejnera koja nema potrebne postavke u /etc direktoriju.
  • PID 1 proces osigurava da se i naziv jedinice i opis prikazuju tokom pokretanja. Možete promijeniti izlaz preko parametra “StatusUnitFormat=combined” u system.conf ili opcije komandne linije kernela “systemd.status-unit-format=combined”
  • Opcija "--image" dodata je uslužnim programima systemd-machine-id-setup i systemd-repart za prijenos datoteke sa ID-om mašine na sliku diska ili za povećanje veličine slike diska.
  • Parametar MakeDirectories dodat je konfiguracijskoj datoteci particije koju koristi uslužni program systemd-repart, a koji se može koristiti za kreiranje proizvoljnih direktorija u kreiranom sistemu datoteka prije nego što se odrazi u tablici particija (na primjer, za kreiranje direktorija za točke montiranja u root particiju tako da možete odmah montirati particiju u načinu samo za čitanje). Za kontrolu GPT zastavica u kreiranim sekcijama, dodani su odgovarajući parametri Flags, ReadOnly i NoAuto. Parametar CopyBlocks ima vrijednost “auto” za automatski odabir trenutne particije za pokretanje kao izvora prilikom kopiranja blokova (na primjer, kada trebate prenijeti vlastitu root particiju na novi medij).
  • GPT implementira oznaku “grow-file-system”, koja je slična opciji montiranja x-systemd.growfs i omogućava automatsko proširenje veličine FS-a na granice blok uređaja ako je veličina FS-a manja od particije. Oznaka je primjenjiva na Ext3, XFS i Btrfs sisteme datoteka i može se primijeniti na automatski otkrivene particije. Oznaka je podrazumevano omogućena za particije koje se mogu pisati automatski kreirane putem systemd-repart. Opcija GrowFileSystem je dodana za konfiguraciju zastavice u systemd-repart.
  • Datoteka /etc/os-release pruža podršku za nove varijable IMAGE_VERSION i IMAGE_ID za određivanje verzije i ID-a atomski ažuriranih slika. Specifikatori %M i %A su predloženi da zamijene navedene vrijednosti u različite naredbe.
  • Parametar “--extension” dodat je uslužnom programu portablectl za aktiviranje slika prijenosnog proširenja sistema (na primjer, preko njih možete distribuirati slike s dodatnim uslugama integriranim u root particiju).
  • Systemd-coredump uslužni program pruža ekstrakciju ELF build-id informacija prilikom generiranja dumpa jezgra procesa, što može biti korisno za određivanje kojem paketu pripada neuspješni proces ako su napravljene informacije o imenu i verziji deb ili rpm paketa u ELF fajlove.
  • Nova hardverska baza za FireWire (IEEE 1394) uređaje je dodata udevu.
  • U udevu, tri promjene su dodane šemi odabira imena mrežnog interfejsa “net_id” koje krše kompatibilnost unatrag: netačni znakovi u nazivima interfejsa sada su zamijenjeni sa “_”; Nazivi PCI hotplug slotova za s390 sisteme se obrađuju u heksadecimalnom obliku; Dozvoljena je upotreba do 65535 ugrađenih PCI uređaja (prethodno su blokirani brojevi iznad 16383).
  • systemd-resolved dodaje domenu “home.arpa” na NTA (Negative Trust Anchors) listu, koja se preporučuje za lokalne kućne mreže, ali se ne koristi u DNSSEC-u.
  • CPUAffinity parametar pruža raščlanjivanje specifikacija “%”.
  • Parametar ManageForeignRoutingPolicyRules je dodat .network datotekama, koji se može koristiti za isključenje systemd-networkd iz obrade politika usmjeravanja treće strane.
  • Parametar RequiredFamilyForOnline je dodat u datoteke „.network“ da bi se utvrdilo prisustvo IPv4 ili IPv6 adrese kao znak da je mrežni interfejs u „online“ stanju. Networkctl pruža prikaz "online" statusa za svaku vezu.
  • Dodan parametar OutgoingInterface u .network fajlove za definisanje odlaznih interfejsa prilikom konfigurisanja mrežnih mostova.
  • Parametar grupe je dodat u fajlove „.network“, omogućavajući vam da konfigurišete višeputnu grupu za unose u odeljku „[NextHop]“.
  • Dodane opcije "-4" i "-6" za systemd-network-wait-online za ograničavanje čekanja veze samo na IPv4 ili IPv6.
  • Parametar RelayTarget je dodat postavkama DHCP servera, koji prebacuje server u DHCP Ralay mod. Za dodatnu konfiguraciju DHCP releja, ponuđene su opcije RelayAgentCircuitId i RelayAgentRemoteId.
  • Parametar ServerAddress je dodat DHCP serveru, što vam omogućava da eksplicitno postavite IP adresu servera (inače se adresa automatski bira).
  • DHCP server implementira odeljak [DHCPerverStaticLease], koji vam omogućava da konfigurišete vezivanje statičkih adresa (DHCP zakup), navodeći fiksne IP veze za MAC adrese i obrnuto.
  • Postavka RestrictAddressFamilies podržava vrijednost “none”, što znači da usluga neće imati pristup utičnicama bilo koje porodice adresa.
  • U datotekama “.network” u odjeljcima [Address], [DHCPv6PrefixDelegation] i [IPv6Prefix] implementirana je podrška za postavku RouteMetric, koja vam omogućava da odredite metriku za prefiks rute kreiran za navedenu adresu.
  • nss-myhostname i systemd-resolved obezbeđuju sintezu DNS zapisa sa adresama za hostove sa posebnim imenom “_outbound”, za koje se uvek izdaje lokalni IP, izabran u skladu sa podrazumevanim rutama koje se koriste za odlazne veze.
  • U .network fajlovima, u odeljku „[DHCPv4]“, dodata je podrazumevana aktivna postavka RoutesToNTP, koja zahteva dodavanje posebne rute kroz trenutni mrežni interfejs za pristup adresi NTP servera dobijenom za ovo sučelje pomoću DHCP (slično DNS-u , postavka vam omogućava da garantujete da će se saobraćaj do NTP servera usmeravati kroz interfejs preko kojeg je ova adresa primljena).
  • Dodane postavke SocketBindAllow i SocketBindDeny za kontrolu pristupa utičnicama vezanim za trenutnu uslugu.
  • Za datoteke jedinica implementirana je uslovna postavka koja se zove ConditionFirmware, koja vam omogućava da kreirate provjere koje procjenjuju funkcije firmvera, kao što je rad na UEFI i device.tree sistemima, kao i provjeru kompatibilnosti sa određenim mogućnostima stabla uređaja.
  • Implementirana opcija ConditionOSRelease za provjeru polja u datoteci /etc/os-release. Prilikom definiranja uvjeta za provjeru vrijednosti polja, operatori “=”, “!=”, “<”, “<=”, “>=”, “>” su prihvatljivi.
  • U uslužnom programu hostnamectl, naredbe poput “get-xyz” i “set-xyz” su oslobođene prefiksa “get” i “set”, na primjer, umjesto “hostnamectl get-hostname” i “hostnamectl “set-hostname” možete koristiti naredbu “hostnamectl hostname” “, dodjela vrijednosti u kojoj se određuje navođenjem dodatnog argumenta (“hostnamectl hostname value”). Podrška za starije komande je zadržana kako bi se osigurala kompatibilnost.
  • Uslužni program systemd-detect-virt i postavka ConditionVirtualization osiguravaju ispravnu identifikaciju Amazon EC2 okruženja.
  • Postavka LogLevelMax u datotekama jedinica sada se primjenjuje ne samo na poruke dnevnika koje generira usluga, već i na PID 1 procesne poruke koje pominju uslugu.
  • Pruža mogućnost uključivanja SBAT (UEFI Secure Boot Advanced Targeting) podataka u systemd-boot EFI PE datoteke.
  • /etc/crypttab implementira nove opcije “headless” i “password-echo” - prva vam omogućava da preskočite sve operacije povezane s interaktivnim traženjem lozinki i PIN-ova od korisnika, a druga vam omogućava da konfigurirate način za prikaz unosa lozinke (ne prikazuj ništa, prikaži znak po znak i prikaži zvjezdice). Opcija “--echo” je dodana u systemd-ask-password za slične svrhe.
  • systemd-cryptenroll, systemd-cryptsetup i systemd-homed imaju proširenu podršku za otključavanje šifrovanih LUKS2 particija pomoću FIDO2 tokena. Dodane su nove opcije “--fido2-with-user-presence”, “--fido2-with-user-verification” i “-fido2-with-client-pin” za kontrolu provjere fizičkog prisustva korisnika, verifikacije i potrebe za upisom PIN kod.
  • Dodane opcije “--user”, “--system”, “--merge” i “--file” u systemd-journal-gatewayd, slično opcijama journalctl.
  • Osim direktnih ovisnosti između jedinica specificiranih kroz OnFailure i Slice parametre, dodana je podrška za implicitne inverzne ovisnosti OnFailureOf i SliceOf, što može biti korisno, na primjer, za određivanje svih jedinica uključenih u slice.
  • Dodane nove vrste zavisnosti između jedinica: OnSuccess i OnSuccessOf (suprotno od OnFailure, poziva se nakon uspješnog završetka); PropagatesStopTo i StopPropagatedFrom (omogućavaju vam da propagirate događaj zaustavljanja jedinice na drugu jedinicu); Potvrđuje i UpheldBy (alternativa ponovnom pokretanju).
  • Uslužni program systemd-ask-password sada ima opciju “--emoji” za kontrolu izgleda simbola katanca (🔐) u redu za unos lozinke.
  • Dodata dokumentacija o strukturi izvornog stabla systemd.
  • Za jedinice je dodano svojstvo MemoryAvailable koje pokazuje koliko je memorije preostalo jedinici prije nego što dosegne ograničenje postavljeno kroz parametre MemoryMax, MemoryHigh ili MemoryAvailable.

izvor: opennet.ru

Dodajte komentar