systemd sistem meneceri buraxılışı 243

Beş aylıq inkişafdan sonra təqdim etdi sistem meneceri buraxılışı sistem 243. Yeniliklər arasında sistemdə az yaddaş üçün işləyicinin PID 1-ə inteqrasiyasını, vahid trafiki süzmək üçün öz BPF proqramlarınızı əlavə etmək dəstəyini, systemd-şəbəkə üçün çoxsaylı yeni seçimləri, şəbəkənin ötürmə qabiliyyətinə nəzarət rejimini qeyd edə bilərik. 64-bit sistemlərdə standart olaraq 22-bit əvəzinə 16-bit PID nömrələrini işə salan interfeyslər, vahid qruplar iyerarxiyasına keçid, systemd-şəbəkə-generatoruna daxil olmaq.

Əsas dəyişikliklər:

  • Yaddaş istehlakı həddinə çatmış vahidləri isteğe bağlı olaraq dayandırmağa məcbur etmək imkanı ilə xüsusi vəziyyətə köçürmək üçün PID 1 işləyicisinə yaddaşın tükənməsi haqqında nüvə tərəfindən yaradılan siqnalların tanınması (Out-Of-Memory, OOM) əlavə edilmişdir. və ya dayandırmaq;
  • Vahid fayllar üçün yeni parametrlər IPIngressFilterPath və
    IPEgressFilterPath, bu bölmə ilə əlaqəli proseslər tərəfindən yaradılan daxil olan və gedən IP paketlərini süzmək üçün BPF proqramlarını ixtiyari işləyicilərlə birləşdirməyə imkan verir. Təklif olunan xüsusiyyətlər sistem xidmətləri üçün bir növ firewall yaratmağa imkan verir. Yazı nümunəsi BPF əsasında sadə şəbəkə filtri;

  • Keşi, iş vaxtı fayllarını, status məlumatlarını və jurnal qovluqlarını silmək üçün systemctl yardım proqramına “təmiz” əmri əlavə edilmişdir;
  • systemd-networkd MACsec, nlmon, IPVTAP və Xfrm şəbəkə interfeysləri üçün dəstək əlavə edir;
  • systemd-networkd konfiqurasiya faylındakı “[DHCPv4]” və “[DHCPv6]” bölmələri vasitəsilə DHCPv4 və DHCPv6 yığınlarının ayrıca konfiqurasiyasını həyata keçirir. DHCP serverindən alınan parametrlərdə göstərilən DNS serverinə ayrıca marşrut əlavə etmək üçün RoutesToDNS seçimi əlavə edildi (beləliklə, DNS-ə trafik DHCP-dən alınan əsas marşrutla eyni keçid vasitəsilə göndərilir). DHCPv4 üçün yeni seçimlər əlavə edildi: MaxAttempts - ünvan əldə etmək üçün sorğuların maksimum sayı, Qara Siyahı - DHCP serverlərinin qara siyahısı, SendRelease - sessiya bitdikdə DHCP RELEASE mesajlarının göndərilməsini aktivləşdirin;
  • Systemd-analyze yardım proqramına yeni əmrlər əlavə edildi:
    • “sistem-analiz vaxt damgası” - vaxtın təhlili və çevrilməsi;
    • “sistem-analiz vaxtı” - zaman dövrlərinin təhlili və çevrilməsi;
    • “sistem-analiz vəziyyəti” - ConditionXYZ ifadələrinin təhlili və sınaqdan keçirilməsi;
    • “sistemd-analyze exit-status” - çıxış kodlarının təhlili və rəqəmlərdən adlara və əksinə çevrilməsi;
    • "systemd-analyze unit-files" - Vahidlər və vahid ləqəbləri üçün bütün fayl yollarını siyahıya alır.
  • Seçimlər SuccessExitStatus, RestartPreventExitStatus və
    RestartForceExitStatus indi təkcə rəqəmli qaytarma kodlarını deyil, həm də onların mətn identifikatorlarını (məsələn, "DATAERR") dəstəkləyir. Siz “sytemd-analyze exit-status” əmrindən istifadə edərək identifikatorlara təyin edilmiş kodların siyahısına baxa bilərsiniz;

  • Virtual şəbəkə cihazlarını silmək üçün networkctl yardım proqramına “sil” əmri, həmçinin cihaz statistikasını göstərmək üçün “—stats” seçimi əlavə edilmişdir;
  • SpeedMeter və SpeedMeterIntervalSec parametrləri şəbəkə interfeyslərinin ötürmə qabiliyyətini vaxtaşırı ölçmək üçün networkd.conf-a əlavə edilmişdir. Ölçmə nəticələrindən əldə edilən statistikaya 'networkctl status' əmrinin çıxışında baxmaq olar;
  • Faylların yaradılması üçün yeni sistemd-şəbəkə generatoru əlavə edildi
    .şəbəkə, .netdev və .link Dracut parametrləri formatında Linux nüvəsi komanda xətti vasitəsilə işə salındıqda ötürülən IP parametrlərinə əsaslanır;

  • 64 bitlik sistemlərdə sysctl "kernel.pid_max" dəyəri indi standart olaraq 4194304 (22 bit əvəzinə 16 bit PID) olaraq təyin edilmişdir, bu da PID-lərin təyin edilməsi zamanı toqquşma ehtimalını azaldır, eyni vaxtda sayı limitini artırır prosesləri idarə edir və təhlükəsizliyə müsbət təsir göstərir. Dəyişiklik potensial olaraq uyğunluq problemlərinə səbəb ola bilər, lakin bu cür məsələlər praktikada hələ bildirilməyib;
  • Varsayılan olaraq, qurma mərhələsi vahid iyerarxiya qruplarına keçir-v2 (“-Ddefault-ierarchy=unified”). Əvvəllər standart hibrid rejim idi (“-Ddefault-hierarchy=hybrid”);
  • Sistem çağırışı filtrinin (SystemCallFilter) davranışı dəyişdirildi, bu, qadağan edilmiş sistem çağırışı halında indi ayrı-ayrı başlıqları deyil, bütün prosesi dayandırır, çünki fərdi başlıqların dayandırılması gözlənilməz problemlərə səbəb ola bilər. Dəyişikliklər yalnız Linux kernel 4.14+ və libseccomp 2.4.0+ olduqda tətbiq edilir;
  • İmtiyazsız proqramlara qrupların bütün diapazonu (bütün proseslər üçün) üçün sysctl "net.ipv4.ping_group_range" təyin etməklə ICMP Echo (ping) paketlərini göndərmək imkanı verilir;
  • Quraşdırma prosesini sürətləndirmək üçün insan təlimatlarının yaradılması standart olaraq dayandırılıb (tam sənədləri yaratmaq üçün html formatında təlimatlar üçün “-Dman=true” və ya “-Dhtml=true” seçimindən istifadə etməlisiniz). Sənədlərə baxmağı asanlaşdırmaq üçün iki skript daxil edilmişdir: maraq doğuran təlimatları yaratmaq və nəzərdən keçirmək üçün build/man/man və build/man/html;
  • Milli əlifbalardan olan simvollarla domen adlarını emal etmək üçün standart olaraq libidn2 kitabxanasından istifadə olunur (libidn-i qaytarmaq üçün “-Dlibidn=true” seçimindən istifadə edin);
  • Dağıtımlarda geniş yayılmayan funksionallığı təmin edən /usr/sbin/halt.local icra edilə bilən faylına dəstək dayandırılıb. Söndürmə zamanı əmrlərin işə salınmasını təşkil etmək üçün /usr/lib/systemd/system-shutdown/-da skriptlərdən istifadə etmək və ya final.target-dən asılı olan yeni vahid müəyyən etmək tövsiyə olunur;
  • Bağlanmanın son mərhələsində systemd indi sysctl “kernel.printk” proqramında log səviyyəsini avtomatik olaraq artırır, bu, adi giriş demonları artıq başa çatdıqdan sonra bağlanmanın sonrakı mərhələlərində baş vermiş hadisələrin jurnalda göstərilməsi ilə bağlı problemi həll edir. ;
  • Jurnalctl və jurnalları göstərən digər kommunal proqramlarda xəbərdarlıqlar sarı rənglə vurğulanır və audit qeydləri izdihamdan vizual olaraq vurğulamaq üçün mavi rənglə vurğulanır;
  • $PATH mühit dəyişənində bin/ yolu indi sbin/ yolundan əvvəl gəlir, yəni. hər iki qovluqda icra olunan faylların eyni adları varsa, bin/-dən fayl icra olunacaq;
  • systemd-logind hər seans əsasında ekran parlaqlığını təhlükəsiz dəyişmək üçün SetBrightness() çağırışını təmin edir;
  • Cihazın işə salınmasını gözləmək üçün “udevadm info” əmrinə “--wait-for-initialization” bayrağı əlavə edilmişdir;
  • Sistemin yüklənməsi zamanı PID 1 idarəedicisi indi təsviri olan sətir əvəzinə bölmələrin adlarını göstərir. Keçmiş davranışa qayıtmaq üçün siz /etc/systemd/system.conf-da StatusUnitFormat seçimindən və ya systemd.status_unit_format kernel seçimindən istifadə edə bilərsiniz;
  • Kexec-dən istifadə edərək yenidən işə salmaq üçün vaxt aşımını təyin edən gözətçi iti PID 1 üçün /etc/systemd/system.conf-a KExecWatchdogSec seçimi əlavə edildi. Köhnə parametr
    ShutdownWatchdogSec adı RebootWatchdogSec olaraq dəyişdirildi və bağlanma və ya normal yenidən başladılma zamanı iş üçün fasilə müddətini təyin edir;

  • Xidmətlər üçün yeni seçim əlavə edildi İcra Vəziyyəti, bu, ExecStartPre-dən əvvəl yerinə yetiriləcək əmrləri təyin etməyə imkan verir. Komanda tərəfindən qaytarılan səhv koduna əsasən bölmənin sonrakı icrası barədə qərar qəbul edilir - əgər kod 0 qaytarılırsa, bölmənin işə salınması davam edir, 1-dən 254-ə qədər səssizcə uğursuzluq bayrağı olmadan bitir, 255 ilə bitir. uğursuzluq bayrağı;
  • Əlavə təhlil üçün sys/fs/pstore/-dan və yaddaşdan /var/lib/pstore-a məlumat çıxarmaq üçün systemd-pstore.service yeni xidmət əlavə edildi;
  • Şəbəkə interfeysləri ilə əlaqədar systemd-timesyncd üçün NTP parametrlərini konfiqurasiya etmək üçün timedatectl yardım proqramına yeni əmrlər əlavə edildi;
  • "localectl list-locales" əmri artıq UTF-8-dən başqa yerliləri göstərmir;
  • Dəyişən adı “-“ simvolu ilə başlayırsa, sysctl.d/ fayllarında dəyişənlərin təyin edilməsi xətalarının nəzərə alınmamasını təmin edir;
  • Xidmət systemd-radom-seed.service indi Linux nüvəsinin psevdor təsadüfi say generatorunun entropiya hovuzunun işə salınması üçün tamamilə cavabdehdir. Düzgün başlatılmış /dev/urandom tələb edən xidmətlər systemd-random-seed.service;
  • systemd-boot boot loader dəstək üçün isteğe bağlı qabiliyyəti təmin edir toxum faylı EFI Sistem Bölməsində (ESP) təsadüfi ardıcıllıqla;
  • Bootctl yardım proqramına yeni əmrlər əlavə edildi: ESP-də toxum faylı yaratmaq üçün "bootctl random-seed" və systemd-boot yükləmə yükləyicisinin quraşdırılmasını yoxlamaq üçün "bootctl quraşdırılıb". bootctl həm də yükləmə girişlərinin səhv konfiqurasiyasına dair xəbərdarlıqları göstərmək üçün düzəldilib (məsələn, nüvə şəkli silindikdə, lakin yükləmə üçün giriş qaldıqda);
  • Sistem yuxu rejiminə keçəndə dəyişdirmə bölməsinin avtomatik seçilməsini təmin edir. Bölmə onun üçün konfiqurasiya edilmiş prioritetdən və eyni prioritetlər olduqda, boş yerin miqdarından asılı olaraq seçilir;
  • Şifrələmə açarı olan cihazın şifrələnmiş bölməyə daxil olmaq üçün parol tələb etməzdən əvvəl nə qədər gözləyəcəyini təyin etmək üçün /etc/crypttab-a açar faylı vaxt aşımı seçimi əlavə edildi;
  • BFQ planlaşdırıcısı üçün I/O çəkisini təyin etmək üçün IOWeight seçimi əlavə edildi;
  • systemd-resolved DNS-over-TLS üçün əlavə 'ciddi' rejimi və yalnız müsbət DNS cavablarını keşləmə qabiliyyətini həyata keçirdi (resoled.conf-da "Cache no-negative");
  • VXLAN üçün systemd-networkd VXLAN protokol uzantılarını aktivləşdirmək üçün GenericProtocolExtension seçimini əlavə etdi. VXLAN və GENEVE üçün IPDoNotFragment seçimi gedən paketlər üçün parçalanma qadağası bayrağını təyin etmək üçün əlavə edilmişdir;
  • systemd-networkd-də, “[Marşrut]” bölməsində, fərdi marşrutlara münasibətdə TCP əlaqələrinin (TFO - TCP Fast Open, RFC 7413) tez açılması mexanizmini, eləcə də TTLPropagate seçimini aktivləşdirmək üçün FastOpenNoCookie seçimi peyda oldu. TTL LSP (Label Switched Path) konfiqurasiya etmək üçün. “Növ” seçimi yerli, yayım, hər hansı yayım, multicast, istənilən və xresolve marşrutlaşdırma rejimləri üçün dəstək verir;
  • Systemd-networkd verilmiş şəbəkə cihazı üçün standart marşrutu avtomatik konfiqurasiya etmək üçün “[Şəbəkə]” bölməsində DefaultRouteOnDevice seçimini təklif edir;
  • Systemd-networkd ProxyARP və əlavə etdi
    Proksi ARP davranışını təyin etmək üçün ProxyARPWifi, multicast rejimində marşrutlaşdırma parametrlərini təyin etmək üçün MulticastRouter, multicast üçün IGMP (Internet Group Management Protocol) versiyasını dəyişdirmək üçün MulticastIGMPVersion;

  • Systemd-networkd yerli və uzaq IP ünvanlarını, həmçinin şəbəkə port nömrəsini konfiqurasiya etmək üçün FooOverUDP tunelləri üçün Yerli, Peer və PeerPort seçimlərini əlavə etdi. TUN tunelləri üçün GSO (Ümumi Seqment Boşaltma) dəstəyini konfiqurasiya etmək üçün VnetHeader seçimi əlavə edilmişdir;
  • systemd-networkd-də, [Match] bölməsində .şəbəkə və .link fayllarında, udev-də cihazları xüsusi xassələri ilə müəyyən etməyə imkan verən Xüsusiyyət seçimi meydana çıxdı;
  • systemd-networkd-də tunellər üçün AssignToLoopback seçimi əlavə edilib, o, tunelin ucunun geri dönmə cihazına “lo” təyin edilib-edilməməsinə nəzarət edir;
  • systemd-networkd sysctl disable_ipv6 vasitəsilə bloklandığı halda IPv6 stekini avtomatik aktivləşdirir - IPv6 şəbəkə interfeysi üçün IPv6 parametrləri (statik və ya DHCPv6) müəyyən edildikdə aktivləşdirilir, əks halda artıq təyin edilmiş sysctl dəyəri dəyişmir;
  • .şəbəkə fayllarında CriticalConnection parametri sistemd şəbəkəsinin lazım olduğu vəziyyətləri ("bəli", "statik", "dhcp-on-stop", "dhcp") müəyyən etmək üçün daha çox vasitə təmin edən KeepConfiguration seçimi ilə əvəz edilmişdir. işə salındıqda mövcud əlaqələrə toxunmayın;
  • Zəiflik düzəldildi CVE-2019-15718, D-Bus interfeysinə giriş nəzarətinin olmaması ilə əlaqədar sistemd-həll edildi. Problem imtiyazsız istifadəçiyə DNS parametrlərinin dəyişdirilməsi və DNS sorğularının saxta serverə yönləndirilməsi kimi yalnız administratorlar üçün əlçatan olan əməliyyatları yerinə yetirməyə imkan verir;
  • Zəiflik düzəldildi CVE-2019-9619pam_systemd-in qeyri-interaktiv seanslar üçün aktiv edilməməsi ilə əlaqədardır ki, bu da aktiv sessiyanın saxtalaşdırılmasına imkan verir.

Mənbə: opennet.ru

Добавить комментарий