keluaran pengurus sistem systemd 243

Selepas lima bulan pembangunan dibentangkan keluaran pengurus sistem sistem 243. Antara inovasi, kita boleh perhatikan penyepaduan ke dalam PID 1 pengendali untuk ingatan rendah dalam sistem, sokongan untuk melampirkan program BPF anda sendiri untuk menapis trafik unit, banyak pilihan baharu untuk systemd-networkd, mod untuk memantau lebar jalur rangkaian antara muka, membolehkan secara lalai pada nombor PID 64-bit sistem 22-bit dan bukannya 16-bit, peralihan kepada hierarki cgroup bersatu, dimasukkan dalam systemd-network-generator.

Perubahan utama:

  • Pengiktirafan isyarat yang dijana kernel tentang kehabisan memori (Out-Of-Memory, OOM) telah ditambahkan pada pengendali PID 1 untuk memindahkan unit yang telah mencapai had penggunaan memori ke dalam keadaan istimewa dengan keupayaan pilihan untuk memaksanya ditamatkan. atau berhenti;
  • Untuk fail unit, parameter baharu IPingressFilterPath dan
    IPEgressFilterPath, yang membolehkan anda menyambungkan program BPF dengan pengendali sewenang-wenangnya untuk menapis paket IP masuk dan keluar yang dijana oleh proses yang dikaitkan dengan unit ini. Ciri yang dicadangkan membolehkan anda mencipta sejenis tembok api untuk perkhidmatan systemd. Contoh penulisan penapis rangkaian mudah berdasarkan BPF;

  • Perintah "bersih" telah ditambahkan pada utiliti systemctl untuk memadam cache, fail masa jalan, maklumat status dan direktori log;
  • systemd-networkd menambah sokongan untuk antara muka rangkaian MACsec, nlmon, IPVTAP dan Xfrm;
  • systemd-networkd melaksanakan konfigurasi berasingan susunan DHCPv4 dan DHCPv6 melalui bahagian "[DHCPv4]" dan "[DHCPv6]" dalam fail konfigurasi. Menambahkan pilihan RoutesToDNS untuk menambah laluan berasingan ke pelayan DNS yang dinyatakan dalam parameter yang diterima daripada pelayan DHCP (supaya trafik ke DNS dihantar melalui pautan yang sama dengan laluan utama yang diterima daripada DHCP). Pilihan baharu telah ditambah untuk DHCPv4: MaxAttempts - bilangan maksimum permintaan untuk mendapatkan alamat, Senarai Hitam - senarai hitam pelayan DHCP, SendRelease - dayakan menghantar mesej DHCP RELEASE apabila sesi tamat;
  • Perintah baru telah ditambahkan pada utiliti systemd-analyse:
    • "systemd-analyse timestamp" - penghuraian masa dan penukaran;
    • “systemd-analyse timespan” - analisis dan penukaran tempoh masa;
    • “systemd-analyse condition” - menghuraikan dan menguji ungkapan ConditionXYZ;
    • "systemd-analyse exit-status" - menghuraikan dan menukar kod keluar daripada nombor kepada nama dan sebaliknya;
    • "systemd-analyze unit-files" - Menyenaraikan semua laluan fail untuk unit dan alias unit.
  • Pilihan SuccessExitStatus, RestartPreventExitStatus dan
    RestartForceExitStatus kini menyokong bukan sahaja kod pulangan berangka, tetapi juga pengecam teksnya (contohnya, "DATAERR"). Anda boleh melihat senarai kod yang diberikan kepada pengecam menggunakan perintah "status keluar-analisis sistem";

  • Perintah "padam" telah ditambahkan pada utiliti networkctl untuk memadam peranti rangkaian maya, serta pilihan "—stats" untuk memaparkan statistik peranti;
  • Tetapan SpeedMeter dan SpeedMeterIntervalSec telah ditambahkan pada networkd.conf untuk mengukur daya pemprosesan antara muka rangkaian secara berkala. Statistik yang diperoleh daripada hasil pengukuran boleh dilihat dalam output arahan 'networkctl status';
  • Menambahkan utiliti systemd-network-generator baru untuk menjana fail
    .network, .netdev dan .link berdasarkan tetapan IP yang diluluskan apabila dilancarkan melalui baris arahan kernel Linux dalam format tetapan Dracut;

  • Nilai "kernel.pid_max" sysctl pada sistem 64-bit kini ditetapkan secara lalai kepada 4194304 (PID 22-bit dan bukannya 16-bit), yang mengurangkan kemungkinan perlanggaran apabila menetapkan PID, meningkatkan had pada bilangan serentak menjalankan proses, dan mempunyai kesan positif terhadap keselamatan. Perubahan itu berpotensi membawa kepada isu keserasian, tetapi isu tersebut belum lagi dilaporkan dalam amalan;
  • Secara lalai, peringkat binaan bertukar kepada hierarki bersatu cgroups-v2 (“-Ddefault-hierarchy=unified”). Sebelum ini, lalai ialah mod hibrid (“-Ddefault-hierarchy=hybrid”);
  • Tingkah laku penapis panggilan sistem (SystemCallFilter) telah diubah, yang, dalam kes panggilan sistem yang dilarang, kini menamatkan keseluruhan proses, bukannya utas individu, kerana penamatan utas individu boleh membawa kepada masalah yang tidak dapat diramalkan. Perubahan hanya terpakai jika anda mempunyai kernel Linux 4.14+ dan libseccomp 2.4.0+;
  • Program tanpa hak diberi keupayaan untuk menghantar paket ICMP Echo (ping) dengan menetapkan sysctl "net.ipv4.ping_group_range" untuk keseluruhan julat kumpulan (untuk semua proses);
  • Untuk mempercepatkan proses binaan, penjanaan manual manusia telah dihentikan secara lalai (untuk membina dokumentasi penuh, anda perlu menggunakan pilihan "-Dman=true" atau "-Dhtml=true" untuk manual dalam format html). Untuk memudahkan anda melihat dokumentasi, dua skrip disertakan: build/man/man dan build/man/html untuk menjana dan melihat manual yang diminati;
  • Untuk memproses nama domain dengan aksara daripada abjad kebangsaan, perpustakaan libidn2 digunakan secara lalai (untuk mengembalikan libidn, gunakan pilihan "-Dlibidn=true");
  • Sokongan untuk fail boleh laku /usr/sbin/halt.local, yang menyediakan fungsi yang tidak diedarkan secara meluas dalam pengedaran, telah dihentikan. Untuk mengatur pelancaran arahan semasa mematikan, adalah disyorkan untuk menggunakan skrip dalam /usr/lib/systemd/system-shutdown/ atau tentukan unit baharu yang bergantung pada final.target;
  • Pada peringkat penutupan terakhir, systemd kini secara automatik meningkatkan tahap log dalam sysctl "kernel.printk", yang menyelesaikan masalah dengan memaparkan dalam peristiwa log yang berlaku pada peringkat penutupan kemudian, apabila daemon pengelogan biasa telah selesai. ;
  • Dalam journalctl dan utiliti lain yang memaparkan log, amaran diserlahkan dalam warna kuning, dan rekod audit diserlahkan dengan warna biru untuk menyerlahkannya secara visual daripada orang ramai;
  • Dalam pembolehubah persekitaran $PATH, laluan ke bin/ kini datang sebelum laluan ke sbin/, i.e. jika terdapat nama yang sama bagi fail boleh laku dalam kedua-dua direktori, fail daripada bin/ akan dilaksanakan;
  • systemd-logind menyediakan panggilan SetBrightness() untuk menukar kecerahan skrin dengan selamat pada asas setiap sesi;
  • Bendera "--wait-for-initialization" telah ditambahkan pada perintah "udevadm info" untuk menunggu peranti dimulakan;
  • Semasa but sistem, pengendali PID 1 kini memaparkan nama unit dan bukannya baris dengan penerangannya. Untuk kembali kepada tingkah laku lepas, anda boleh menggunakan pilihan StatusUnitFormat dalam /etc/systemd/system.conf atau pilihan kernel systemd.status_unit_format;
  • Menambahkan pilihan KExecWatchdogSec pada /etc/systemd/system.conf untuk watchdog PID 1, yang menentukan tamat masa untuk memulakan semula menggunakan kexec. Tetapan lama
    ShutdownWatchdogSec telah dinamakan semula kepada RebootWatchdogSec dan mentakrifkan tamat masa untuk kerja semasa penutupan atau mula semula biasa;

  • Pilihan baharu telah ditambahkan untuk perkhidmatan ExecCondition, yang membolehkan anda menentukan arahan yang akan dilaksanakan sebelum ExecStartPre. Berdasarkan kod ralat yang dikembalikan oleh arahan, keputusan dibuat untuk pelaksanaan selanjutnya unit - jika kod 0 dikembalikan, pelancaran unit diteruskan, jika dari 1 hingga 254 ia berakhir secara senyap tanpa bendera kegagalan, jika 255 ia berakhir dengan bendera kegagalan;
  • Menambah perkhidmatan systemd-pstore.service baharu untuk mengekstrak data daripada sys/fs/pstore/ dan daripada menyimpan ke /var/lib/pstore untuk analisis lanjut;
  • Arahan baharu telah ditambahkan pada utiliti timedatectl untuk mengkonfigurasi parameter NTP untuk systemd-timesyncd berhubung dengan antara muka rangkaian;
  • Perintah "localectl list-locales" tidak lagi memaparkan tempat selain UTF-8;
  • Memastikan bahawa ralat penugasan pembolehubah dalam fail sysctl.d/ diabaikan jika nama pembolehubah bermula dengan aksara “-“;
  • Perkhidmatan systemd-random-seed.service kini bertanggungjawab sepenuhnya untuk memulakan kumpulan entropi penjana nombor pseudorandom kernel Linux. Perkhidmatan yang memerlukan /dev/urandom yang dimulakan dengan betul harus dimulakan selepas systemd-random-seed.service;
  • Pemuat but systemd-boot menyediakan keupayaan pilihan untuk menyokong fail benih dengan urutan rawak dalam Pemisahan Sistem EFI (ESP);
  • Arahan baharu telah ditambahkan pada utiliti bootctl: "bootctl random-seed" untuk menjana fail benih dalam ESP dan "bootctl is-installed" untuk menyemak pemasangan pemuat but systemd-boot. bootctl juga telah dilaraskan untuk memaparkan amaran tentang konfigurasi entri boot yang salah (contohnya, apabila imej kernel dipadamkan, tetapi entri untuk memuatkannya ditinggalkan);
  • Menyediakan pemilihan automatik bagi partition swap apabila sistem masuk ke mod tidur. Partition dipilih bergantung pada keutamaan yang dikonfigurasikan untuknya, dan dalam hal keutamaan yang sama, jumlah ruang kosong;
  • Menambahkan pilihan tamat masa fail kekunci pada /etc/crypttab untuk menetapkan berapa lama peranti dengan kunci penyulitan akan menunggu sebelum meminta kata laluan untuk mengakses partition yang disulitkan;
  • Menambahkan pilihan IOWeight untuk menetapkan berat I/O untuk penjadual BFQ;
  • systemd-resolved menambah mod 'ketat' untuk DNS-over-TLS dan melaksanakan keupayaan untuk cache hanya respons DNS positif ("Cache no-negative" dalam resolved.conf);
  • Untuk VXLAN, systemd-networkd telah menambah pilihan GenericProtocolExtension untuk mendayakan sambungan protokol VXLAN. Untuk VXLAN dan GENEVE, pilihan IPDoNotFragment telah ditambahkan untuk menetapkan bendera larangan pemecahan untuk paket keluar;
  • Dalam systemd-networkd, dalam bahagian "[Laluan]", pilihan FastOpenNoCookie telah muncul untuk membolehkan mekanisme untuk membuka sambungan TCP dengan cepat (TFO - TCP Fast Open, RFC 7413) berhubung dengan laluan individu, serta pilihan TTLPropagate untuk mengkonfigurasi TTL LSP (Laluan Beralih Label ). Pilihan "Jenis" menyediakan sokongan untuk mod penghalaan tempatan, siaran, anycast, multicast, sebarang dan xresolve;
  • Systemd-networkd menawarkan pilihan DefaultRouteOnDevice dalam bahagian "[Rangkaian]" untuk mengkonfigurasi laluan lalai secara automatik untuk peranti rangkaian tertentu;
  • Systemd-networkd telah menambah ProxyARP dan
    ProxyARPWifi untuk menetapkan tingkah laku ARP proksi, MulticastRouter untuk menetapkan parameter penghalaan dalam mod multicast, MulticastIGMPVersion untuk menukar versi IGMP (Internet Group Management Protocol) untuk multicast;

  • Systemd-networkd telah menambah pilihan Tempatan, Peer dan PeerPort untuk terowong FooOverUDP untuk mengkonfigurasi alamat IP tempatan dan jauh, serta nombor port rangkaian. Untuk terowong TUN, pilihan VnetHeader telah ditambahkan untuk mengkonfigurasi sokongan GSO (Generic Segment Offload);
  • Dalam systemd-networkd, dalam fail .network dan .link dalam bahagian [Match], pilihan Harta telah muncul, yang membolehkan anda mengenal pasti peranti mengikut sifat khusus mereka dalam udev;
  • Dalam systemd-networkd, pilihan AssignToLoopback telah ditambahkan untuk terowong, yang mengawal sama ada hujung terowong diperuntukkan kepada peranti gelung balik "lo";
  • systemd-networkd secara automatik mengaktifkan tindanan IPv6 jika ia disekat melalui sysctl disable_ipv6 - IPv6 diaktifkan jika tetapan IPv6 (statik atau DHCPv6) ditakrifkan untuk antara muka rangkaian, jika tidak, nilai sysctl yang telah ditetapkan tidak berubah;
  • Dalam fail .network, tetapan CriticalConnection telah digantikan dengan pilihan KeepConfiguration, yang menyediakan lebih banyak cara untuk menentukan situasi (“ya”, “statik”, “dhcp-on-stop”, “dhcp”) di mana systemd-networkd harus tidak menyentuh sambungan sedia ada apabila dimulakan;
  • Kerentanan diperbaiki CVE-2019 15718-, disebabkan oleh kekurangan kawalan akses kepada antara muka D-Bus systemd-resolved. Isu ini membenarkan pengguna yang tidak mempunyai hak untuk melakukan operasi yang hanya tersedia untuk pentadbir, seperti menukar tetapan DNS dan mengarahkan pertanyaan DNS ke pelayan penyangak;
  • Kerentanan diperbaiki CVE-2019 9619-berkaitan dengan tidak mendayakan pam_systemd untuk sesi bukan interaktif, yang membenarkan pemalsuan sesi aktif.

Sumber: opennet.ru

Tambah komen