systemd sistem yöneticisi sürüm 243

Beş aylık geliştirme sürecinin ardından gönderilen sistem yöneticisi sürümü sistemd 243. Yenilikler arasında, sistemdeki düşük bellek için bir işleyicinin PID 1'e entegrasyonunu, birim trafiğini filtrelemek için kendi BPF programlarınızı ekleme desteğini, systemd-networkd için çok sayıda yeni seçeneği, ağın bant genişliğini izlemeye yönelik bir modu not edebiliriz. arayüzler, 64 bit sistemlerde varsayılan olarak 22 bit yerine 16 bit PID numaralarını etkinleştirir, birleşik bir grup hiyerarşisine geçiş, systemd-network-generator'a dahil edilir.

Ana değişiklikler:

  • Bellek tüketimi sınırına ulaşan birimleri, isteğe bağlı olarak onları sonlandırmaya zorlama yeteneği ile özel bir duruma aktarmak için PID 1 işleyicisine, yetersiz bellek (Yetersiz Bellek, OOM) ile ilgili çekirdek tarafından oluşturulan sinyallerin tanınması eklenmiştir. veya dur;
  • Birim dosyaları için yeni parametreler IPIngressFilterPath ve
    Bu üniteyle ilişkili işlemler tarafından oluşturulan gelen ve giden IP paketlerini filtrelemek için BPF programlarını isteğe bağlı işleyicilere bağlamanıza olanak tanıyan IPEgressFilterPath. Önerilen özellikler, sistem hizmetleri için bir tür güvenlik duvarı oluşturmanıza olanak tanır. Örnek yazma BPF'ye dayalı basit bir ağ filtresi;

  • Önbelleği, çalışma zamanı dosyalarını, durum bilgilerini ve günlük dizinlerini silmek için systemctl yardımcı programına “temiz” komutu eklenmiştir;
  • systemd-networkd, MACsec, nlmon, IPVTAP ve Xfrm ağ arayüzleri için destek ekler;
  • systemd-networkd, yapılandırma dosyasındaki "[DHCPv4]" ve "[DHCPv6]" bölümleri aracılığıyla DHCPv4 ve DHCPv6 yığınlarının ayrı yapılandırmasını uygular. DHCP sunucusundan alınan parametrelerde belirtilen DNS sunucusuna ayrı bir rota eklemek için RoutesToDNS seçeneği eklendi (böylece DNS'ye giden trafik, DHCP'den alınan ana rota ile aynı bağlantı üzerinden gönderilir). DHCPv4 için yeni seçenekler eklendi: MaxAttempts - bir adres almak için maksimum istek sayısı, BlackList - DHCP sunucularının kara listesi, SendRelease - oturum sona erdiğinde DHCP RELEASE mesajlarının gönderilmesini etkinleştirin;
  • Systemd-analyze yardımcı programına yeni komutlar eklendi:
    • “systemd-analyze timestamp” - zaman ayrıştırma ve dönüştürme;
    • “systemd-analyze zaman aralığı” - zaman aralıklarının analizi ve dönüştürülmesi;
    • “systemd-analyze koşulu” - ConditionXYZ ifadelerini ayrıştırma ve test etme;
    • “systemd-analyze çıkış durumu” - çıkış kodlarını sayılardan adlara ve tam tersine ayrıştırma ve dönüştürme;
    • "systemd-analyze birim dosyaları" - Birimler ve birim takma adları için tüm dosya yollarını listeler.
  • Seçenekler SuccessExitStatus, RestartPreventExitStatus ve
    RestartForceExitStatus artık yalnızca sayısal dönüş kodlarını değil aynı zamanda bunların metin tanımlayıcılarını da (örneğin, "DATAERR") destekliyor. Tanımlayıcılara atanan kodların listesini “sytemd-analyze çıkış durumu” komutunu kullanarak görüntüleyebilirsiniz;

  • Sanal ağ aygıtlarını silmek için networkctl yardımcı programına “delete” komutu ve ayrıca aygıt istatistiklerini görüntülemek için “—stats” seçeneği eklendi;
  • Ağ arayüzlerinin verimini periyodik olarak ölçmek için SpeedMeter ve SpeedMeterIntervalSec ayarları networkd.conf dosyasına eklenmiştir. Ölçüm sonuçlarından elde edilen istatistikler 'networkctl status' komutunun çıktısında görülebilir;
  • Dosya oluşturmak için yeni systemd-network-generator yardımcı programı eklendi
    .network, .netdev ve .link, Dracut ayarları formatında Linux çekirdeği komut satırı aracılığıyla başlatıldığında geçirilen IP ayarlarını temel alır;

  • 64 bit sistemlerde sysctl "kernel.pid_max" değeri artık varsayılan olarak 4194304'e (22 bit yerine 16 bit PID'ler) ayarlanmıştır; bu, PID'leri atarken çarpışma olasılığını azaltır, aynı anda sayı sınırını artırır. süreçlerin çalıştırılması ve güvenlik üzerinde olumlu bir etkisi vardır. Değişiklik potansiyel olarak uyumluluk sorunlarına yol açabilir, ancak bu tür sorunlar henüz uygulamada rapor edilmemiştir;
  • Varsayılan olarak, oluşturma aşaması birleştirilmiş hiyerarşi cgroups-v2'ye ("-Ddefault-hierarchy=unified") geçer. Daha önce varsayılan, hibrit moddu (“-Ddefault-hierarchy=hybrid”);
  • Sistem çağrısı filtresinin (SystemCallFilter) davranışı değiştirildi; bu, yasaklanmış bir sistem çağrısı durumunda artık tek tek iş parçacıkları yerine tüm süreci sonlandırıyor; çünkü tek tek iş parçacıklarının sonlandırılması öngörülemeyen sorunlara yol açabilir. Değişiklikler yalnızca Linux çekirdeği 4.14+ ve libseccomp 2.4.0+ sürümüne sahipseniz geçerlidir;
  • Ayrıcalıksız programlara, tüm grup aralığı için (tüm işlemler için) sysctl "net.ipv4.ping_group_range" ayarını yaparak ICMP Yankı (ping) paketleri gönderme yeteneği verilir;
  • Derleme sürecini hızlandırmak için, man kılavuzlarının oluşturulması varsayılan olarak durdurulmuştur (tüm belgeleri oluşturmak için, html formatındaki kılavuzlar için “-Dman=true” veya “-Dhtml=true” seçeneğini kullanmanız gerekir). Belgelerin görüntülenmesini kolaylaştırmak için iki komut dosyası eklenmiştir: ilgilenilen kılavuzları oluşturmak ve önizlemek için build/man/man ve build/man/html;
  • Ulusal alfabelerdeki karakterleri içeren alan adlarını işlemek için varsayılan olarak libidn2 kitaplığı kullanılır (libidn'i döndürmek için “-Dlibidn=true” seçeneğini kullanın);
  • Dağıtımlarda yaygın olarak dağıtılmayan işlevsellik sağlayan /usr/sbin/halt.local yürütülebilir dosyasına yönelik destek durduruldu. Kapatma sırasında komutların başlatılmasını düzenlemek için /usr/lib/systemd/system-shutdown/ dosyasındaki komut dosyalarının kullanılması veya final.target'e bağlı yeni bir birim tanımlanması önerilir;
  • Kapatmanın son aşamasında, systemd artık "kernel.printk" sysctl'sindeki günlük seviyesini otomatik olarak artırıyor; bu, normal günlük kaydı işlemleri zaten tamamlandığında, kapatmanın sonraki aşamalarında meydana gelen olayların günlükte görüntülenmesi sorununu çözüyor ;
  • Journalctl'de ve günlükleri görüntüleyen diğer yardımcı programlarda, uyarılar sarı renkle vurgulanır ve denetim kayıtları, kalabalığın arasından görsel olarak vurgulanmak üzere mavi renkle vurgulanır;
  • $PATH ortam değişkeninde bin/ yolu artık sbin/ yolundan önce gelir, yani. her iki dizinde de aynı yürütülebilir dosya adları varsa, bin/ dosyasındaki dosya yürütülür;
  • systemd-logind, ekran parlaklığını oturum bazında güvenli bir şekilde değiştirmek için bir SetBrightness() çağrısı sağlar;
  • Cihazın başlatılmasını beklemek için “udevadm info” komutuna “--wait-for-initialization” bayrağı eklendi;
  • Sistem önyüklemesi sırasında, PID 1 işleyicisi artık açıklamalarını içeren bir satır yerine birimlerin adlarını görüntülüyor. Geçmişteki davranışa geri dönmek için /etc/systemd/system.conf dosyasındaki StatusUnitFormat seçeneğini veya systemd.status_unit_format çekirdek seçeneğini kullanabilirsiniz;
  • Kexec kullanarak yeniden başlatma için zaman aşımını belirten watchdog PID 1 için /etc/systemd/system.conf dosyasına KExecWatchdogSec seçeneği eklendi. Eski ayar
    ShutdownWatchdogSec, RebootWatchdogSec olarak yeniden adlandırılmıştır ve kapatma veya normal yeniden başlatma sırasında işler için bir zaman aşımı tanımlar;

  • Hizmetler için yeni bir seçenek eklendi Yürütme DurumuExecStartPre'den önce yürütülecek komutları belirtmenize olanak tanır. Komutun döndürdüğü hata koduna dayanarak, birimin daha fazla çalıştırılmasına karar verilir - eğer kod 0 döndürülürse, birimin başlatılması devam eder, eğer 1'den 254'e kadar bir hata bayrağı olmadan sessizce sona ererse, 255 ile biterse bir başarısızlık bayrağı;
  • Daha fazla analiz için sys/fs/pstore/'den veri çıkarmak ve /var/lib/pstore'a kaydetmek için yeni bir systemd-pstore.service hizmeti eklendi;
  • Ağ arayüzleriyle ilişkili olarak systemd-timesyncd için NTP parametrelerini yapılandırmak amacıyla timedatectl yardımcı programına yeni komutlar eklendi;
  • "localectl list-locales" komutu artık UTF-8 dışındaki yerel ayarları görüntülemiyor;
  • Değişken adı “-“ karakteriyle başlıyorsa sysctl.d/ dosyalarındaki değişken atama hatalarının göz ardı edilmesini sağlar;
  • Hizmet systemd-random-seed.service artık Linux çekirdeğinin sözde rastgele sayı üretecinin entropi havuzunu başlatmaktan tamamen sorumludur. Doğru şekilde başlatılan /dev/urandom gerektiren hizmetler, systemd-random-seed.service'den sonra başlatılmalıdır;
  • Systemd-boot önyükleme yükleyicisi isteğe bağlı olarak destek yeteneği sağlar tohum dosyası EFI Sistem Bölümünde (ESP) rastgele sırayla;
  • Bootctl yardımcı programına yeni komutlar eklendi: ESP'de bir tohum dosyası oluşturmak için "bootctl random-seed" ve systemd-boot önyükleme yükleyicisinin kurulumunu kontrol etmek için "bootctl is-installed". bootctl ayrıca, önyükleme girişlerinin yanlış yapılandırılmasıyla ilgili uyarıları görüntüleyecek şekilde ayarlandı (örneğin, çekirdek görüntüsü silindiğinde, ancak yükleme girişi bırakıldığında);
  • Sistem uyku moduna geçtiğinde takas bölümünün otomatik olarak seçilmesini sağlar. Bölüm, kendisi için yapılandırılan önceliğe ve aynı önceliklerin olması durumunda boş alan miktarına bağlı olarak seçilir;
  • Şifreleme anahtarına sahip bir cihazın şifrelenmiş bölüme erişmek için parola istemeden önce ne kadar süre bekleyeceğini ayarlamak için /etc/crypttab dosyasına anahtar dosyası zaman aşımı seçeneği eklendi;
  • BFQ zamanlayıcının G/Ç ağırlığını ayarlamak için IOWeight seçeneği eklendi;
  • systemd-resoled, TLS üzerinden DNS için 'katı' mod ekledi ve yalnızca olumlu DNS yanıtlarını önbelleğe alma yeteneğini uyguladı (çözünmüş.conf'ta "negatif olmayan önbellek");
  • VXLAN için systemd-networkd, VXLAN protokol uzantılarını etkinleştirmek için bir GenericProtocolExtension seçeneği ekledi. VXLAN ve GENEVE için, giden paketlere yönelik parçalanma yasağı bayrağını ayarlamak amacıyla IPDoNotFragment seçeneği eklendi;
  • Systemd-networkd'de, “[Route]” bölümünde, TCP bağlantılarını (TFO - TCP Fast Open, RFC 7413) bireysel rotalara göre hızlı bir şekilde açma mekanizmasının yanı sıra TTLPropagate seçeneğini etkinleştirmek için FastOpenNoCookie seçeneği ortaya çıktı. TTL LSP'yi (Etiket Anahtarlamalı Yol) yapılandırmak için. “Tür” seçeneği yerel, yayın, her noktaya yayın, çok noktaya yayın, herhangi biri ve xresolve yönlendirme modları için destek sağlar;
  • Systemd-networkd, belirli bir ağ cihazı için varsayılan rotayı otomatik olarak yapılandırmak için “[Ağ]” bölümünde bir DefaultRouteOnDevice seçeneği sunar;
  • Systemd-networkd ProxyARP'yi ekledi ve
    Proxy ARP davranışını ayarlamak için ProxyARPWifi, çok noktaya yayın modunda yönlendirme parametrelerini ayarlamak için MulticastRouter, çok noktaya yayın için IGMP (İnternet Grup Yönetim Protokolü) sürümünü değiştirmek için MulticastIGMPVersion;

  • Systemd-networkd, yerel ve uzak IP adreslerinin yanı sıra ağ bağlantı noktası numarasını yapılandırmak amacıyla FooOverUDP tünelleri için Yerel, Eş ve PeerPort seçeneklerini ekledi. TUN tünelleri için, GSO (Genel Segment Boşaltması) desteğini yapılandırmak üzere VnetHeader seçeneği eklenmiştir;
  • systemd-networkd'de, [Eşleşme] bölümündeki .network ve .link dosyalarında, cihazları udev'deki belirli özelliklerine göre tanımlamanıza olanak tanıyan bir Özellik seçeneği belirmiştir;
  • systemd-networkd'de, tüneller için tünel sonunun geri döngü aygıtı "lo"ya atanıp atanmadığını kontrol eden bir AssignToLoopback seçeneği eklenmiştir;
  • systemd-networkd, sysctl devre dışı bırak_ipv6 aracılığıyla engellenirse IPv6 yığınını otomatik olarak etkinleştirir - Ağ arayüzü için IPv6 ayarları (statik veya DHCPv6) tanımlanmışsa IPv6 etkinleştirilir, aksi takdirde önceden ayarlanmış sysctl değeri değişmez;
  • .network dosyalarında, CriticalConnection ayarının yerini, systemd-networkd'nin gerekli olduğu durumları ("evet", "statik", "dhcp-on-stop", "dhcp") tanımlamak için daha fazla araç sağlayan KeepConfiguration seçeneği almıştır. başlatma sırasında mevcut bağlantılara dokunmayın;
  • Güvenlik açığı düzeltildi CVE-2019-15718D-Bus arayüzüne erişim kontrolü eksikliğinden kaynaklanan sistemd-çözümlendi. Sorun, ayrıcalığı olmayan bir kullanıcının, DNS ayarlarını değiştirmek ve DNS sorgularını sahte bir sunucuya yönlendirmek gibi yalnızca yöneticilerin kullanabileceği işlemleri gerçekleştirmesine olanak tanır;
  • Güvenlik açığı düzeltildi CVE-2019-9619Etkin oturumun sahtekarlığına izin veren, etkileşimli olmayan oturumlar için pam_systemd'nin etkinleştirilmemesiyle ilgili.

Kaynak: opennet.ru

Yorum ekle