rilis manajer sistem systemd 249

Setelah tiga bulan pengembangan, rilis manajer sistem systemd 249 disajikan. Rilis baru menyediakan kemampuan untuk menentukan pengguna/grup dalam format JSON, menstabilkan protokol Jurnal, menyederhanakan organisasi pemuatan partisi disk yang berurutan, menambahkan kemampuan untuk menghubungkan program BPF ke layanan, dan mengimplementasikan pemetaan pengidentifikasi pengguna di partisi yang terpasang, sebagian besar pengaturan jaringan baru dan peluang untuk meluncurkan kontainer ditawarkan.

Perubahan besar:

  • Protokol Jurnal didokumentasikan dan dapat digunakan di klien sebagai pengganti protokol syslog untuk pengiriman catatan log lokal. Protokol Jurnal telah diterapkan sejak lama dan sudah digunakan di beberapa perpustakaan klien, namun dukungan resminya baru saja diumumkan.
  • Userdb dan nss-systemd menyediakan dukungan untuk membaca definisi pengguna tambahan yang terletak di direktori /etc/userdb/, /run/userdb/, /run/host/userdb/ dan /usr/lib/userdb/, yang ditentukan dalam format JSON. Perlu dicatat bahwa fitur ini akan memberikan mekanisme tambahan untuk membuat pengguna dalam sistem, menyediakan integrasi penuh dengan NSS dan /etc/shadow. Dukungan JSON untuk entri pengguna/grup juga akan memungkinkan berbagai manajemen sumber daya dan pengaturan lain dilampirkan ke pengguna yang dikenali pam_systemd dan systemd-logind.
  • nss-systemd menyediakan sintesis entri pengguna/grup di /etc/shadow menggunakan kata sandi hash dari systemd-homed.
  • Sebuah mekanisme telah diterapkan yang menyederhanakan pengorganisasian pembaruan menggunakan partisi disk yang saling menggantikan (satu partisi aktif, dan partisi kedua adalah cadangan - pembaruan disalin ke partisi cadangan, setelah itu menjadi aktif). Jika ada dua partisi root atau /usr di image disk, dan udev belum mendeteksi keberadaan parameter 'root=', atau sedang memproses image disk yang ditentukan melalui opsi "--image" di systemd-nspawn dan systemd -membedah utilitas, partisi boot dapat dihitung dengan membandingkan label GPT (dengan asumsi label GPT menyebutkan nomor versi konten partisi dan systemd akan memilih partisi dengan perubahan terbaru).
  • Pengaturan BPFProgram telah ditambahkan ke file layanan, yang dengannya Anda dapat mengatur pemuatan program BPF ke dalam kernel dan mengelolanya dengan mengikat ke layanan systemd tertentu.
  • Systemd-fstab-generator dan systemd-repart menambahkan kemampuan untuk melakukan booting dari disk yang hanya memiliki partisi /usr dan tidak memiliki partisi root (partisi root akan dihasilkan oleh systemd-repart saat boot pertama).
  • Di systemd-nspawn, opsi "--private-user-chown" telah digantikan dengan opsi "--private-user-ownership" yang lebih umum, yang dapat menerima nilai "chown" sebagai setara dengan "-- private-user-chown", "off" untuk menonaktifkan pengaturan lama, "map" untuk memetakan ID pengguna pada sistem file yang terpasang dan "auto" untuk memilih "map" jika fungsionalitas yang diperlukan ada di kernel (5.12+) atau mundur ke panggilan rekursif ke "chown" sebaliknya. Dengan menggunakan pemetaan, Anda dapat memetakan file satu pengguna di partisi asing yang dipasang ke pengguna lain di sistem saat ini, sehingga memudahkan berbagi file antar pengguna yang berbeda. Dalam mekanisme direktori home portabel systemd-homed, pemetaan akan memungkinkan pengguna untuk memindahkan direktori home mereka ke media eksternal dan menggunakannya pada komputer berbeda yang tidak memiliki tata letak ID pengguna yang sama.
  • Di systemd-nspawn, opsi "--private-user" sekarang dapat menggunakan nilai "identitas" untuk secara langsung mencerminkan ID pengguna saat menyiapkan namespace pengguna, mis. UID 0 dan UID 1 dalam container akan tercermin dalam UID 0 dan UID 1 di sisi host, untuk mengurangi vektor serangan (container hanya akan menerima kemampuan proses di namespace-nya).
  • Opsi “--bind-user” telah ditambahkan ke systemd-nspawn untuk meneruskan akun pengguna yang ada di lingkungan host ke penampung (direktori home dipasang ke dalam penampung, entri pengguna/grup ditambahkan, dan pemetaan UID dilakukan antara kontainer dan lingkungan host).
  • systemd-ask-password dan systemd-sysusers telah menambahkan dukungan untuk meminta kata sandi yang ditetapkan (passwd.hashed-password. dan passwd.plaintext-password.) menggunakan mekanisme yang diperkenalkan di systemd 247 untuk mentransfer data sensitif dengan aman menggunakan file perantara dalam direktori terpisah. Secara default, kredensial diterima dari proses dengan PID1, yang menerimanya, misalnya, dari manajer manajemen kontainer, yang memungkinkan Anda mengonfigurasi kata sandi pengguna pada boot pertama.
  • systemd-firstboot menambahkan dukungan untuk menggunakan mekanisme transfer data sensitif yang aman untuk menanyakan berbagai parameter sistem, yang dapat digunakan untuk menginisialisasi pengaturan sistem saat pertama kali mem-boot image container yang tidak memiliki pengaturan yang diperlukan di direktori /etc.
  • Proses PID 1 memastikan bahwa nama dan deskripsi unit ditampilkan saat boot. Anda dapat mengubah output melalui parameter “StatusUnitFormat=combined” di system.conf atau opsi baris perintah kernel “systemd.status-unit-format=combined”
  • Opsi "--image" telah ditambahkan ke utilitas systemd-machine-id-setup dan systemd-repart untuk mentransfer file dengan id mesin ke image disk atau untuk menambah ukuran image disk.
  • Parameter MakeDirectories telah ditambahkan ke file konfigurasi partisi yang digunakan oleh utilitas systemd-repart, yang dapat digunakan untuk membuat direktori arbitrer dalam sistem file yang dibuat sebelum tercermin dalam tabel partisi (misalnya, untuk membuat direktori untuk titik pemasangan di partisi root sehingga Anda dapat segera memasang partisi tersebut dalam mode read-only). Untuk mengontrol tanda GPT di bagian yang dibuat, parameter Bendera, ReadOnly, dan NoAuto yang sesuai telah ditambahkan. Parameter CopyBlocks memiliki nilai "auto" untuk secara otomatis memilih partisi boot saat ini sebagai sumber ketika menyalin blok (misalnya, ketika Anda perlu mentransfer partisi root Anda sendiri ke media baru).
  • GPT mengimplementasikan flag “grow-file-system”, yang mirip dengan opsi mount x-systemd.growfs dan menyediakan perluasan otomatis ukuran FS ke batas perangkat blok jika ukuran FS lebih kecil dari partisi. Bendera ini berlaku untuk sistem file Ext3, XFS dan Btrfs, dan dapat diterapkan pada partisi yang terdeteksi secara otomatis. Bendera ini diaktifkan secara default untuk partisi yang dapat ditulisi yang dibuat secara otomatis melalui systemd-repart. Opsi GrowFileSystem telah ditambahkan untuk mengonfigurasi flag di systemd-repart.
  • File /etc/os-release menyediakan dukungan untuk variabel IMAGE_VERSION dan IMAGE_ID baru untuk menentukan versi dan ID gambar yang diperbarui secara atom. Penentu %M dan %A diusulkan untuk mengganti nilai yang ditentukan ke dalam berbagai perintah.
  • Parameter "--extension" telah ditambahkan ke utilitas portablectl untuk mengaktifkan gambar ekstensi sistem portabel (misalnya, melaluinya Anda dapat mendistribusikan gambar dengan layanan tambahan yang terintegrasi ke dalam partisi root).
  • Utilitas systemd-coredump menyediakan ekstraksi informasi build-id ELF saat membuat core dump dari suatu proses, yang dapat berguna untuk menentukan paket mana yang dimiliki oleh proses yang gagal jika informasi tentang nama dan versi paket deb atau rpm dibuat ke dalam file ELF.
  • Basis perangkat keras baru untuk perangkat FireWire (IEEE 1394) telah ditambahkan ke udev.
  • Di udev, tiga perubahan telah ditambahkan ke skema pemilihan nama antarmuka jaringan “net_id” yang melanggar kompatibilitas ke belakang: karakter yang salah dalam nama antarmuka kini diganti dengan “_”; Nama slot hotplug PCI untuk sistem s390 diproses dalam bentuk heksadesimal; Penggunaan hingga 65535 perangkat PCI internal diperbolehkan (sebelumnya nomor di atas 16383 diblokir).
  • systemd-resolved menambahkan domain “home.arpa” ke daftar NTA (Negative Trust Anchors), yang direkomendasikan untuk jaringan rumah lokal, tetapi tidak digunakan di DNSSEC.
  • Parameter CPUAffinity menyediakan penguraian penentu “%”.
  • Parameter ManageForeignRoutingPolicyRules telah ditambahkan ke file .network, yang dapat digunakan untuk mengecualikan systemd-networkd dari pemrosesan kebijakan perutean pihak ketiga.
  • Parameter RequiredFamilyForOnline telah ditambahkan ke file “.network” untuk menentukan keberadaan alamat IPv4 atau IPv6 sebagai tanda bahwa antarmuka jaringan dalam keadaan “online”. Networkctl menyediakan tampilan status “online” untuk setiap tautan.
  • Menambahkan parameter OutgoingInterface ke file .network untuk menentukan antarmuka keluar saat mengonfigurasi jembatan jaringan.
  • Parameter Grup telah ditambahkan ke file “.network”, memungkinkan Anda mengonfigurasi grup Multipath untuk entri di bagian “[NextHop]”.
  • Menambahkan opsi "-4" dan "-6" ke systemd-network-wait-online untuk membatasi waktu tunggu koneksi hanya pada IPv4 atau IPv6.
  • Parameter RelayTarget telah ditambahkan ke pengaturan server DHCP, yang mengalihkan server ke mode DHCP Ralay. Untuk konfigurasi tambahan relai DHCP, opsi RelayAgentCircuitId dan RelayAgentRemoteId ditawarkan.
  • Parameter ServerAddress telah ditambahkan ke server DHCP, memungkinkan Anda untuk secara eksplisit mengatur alamat IP server (jika tidak, alamat akan dipilih secara otomatis).
  • Server DHCP mengimplementasikan bagian [DHCPServerStaticLease], yang memungkinkan Anda mengonfigurasi pengikatan alamat statis (sewa DHCP), menentukan pengikatan IP tetap ke alamat MAC dan sebaliknya.
  • Pengaturan RestrictAddressFamilies mendukung nilai “none”, yang berarti bahwa layanan tidak akan memiliki akses ke soket dari kelompok alamat mana pun.
  • Dalam file “.network” di bagian [Alamat], [DHCPv6PrefixDelegation] dan [IPv6Prefix], dukungan untuk pengaturan RouteMetric diterapkan, yang memungkinkan Anda menentukan metrik untuk awalan rute yang dibuat untuk alamat yang ditentukan.
  • nss-myhostname dan systemd-resolved menyediakan sintesis catatan DNS dengan alamat untuk host dengan nama khusus "_outbound", yang selalu mengeluarkan IP lokal, dipilih sesuai dengan rute default yang digunakan untuk koneksi keluar.
  • Dalam file .network, di bagian “[DHCPv4]”, pengaturan RoutesToNTP aktif default telah ditambahkan, yang memerlukan penambahan rute terpisah melalui antarmuka jaringan saat ini untuk mengakses alamat server NTP yang diperoleh untuk antarmuka ini menggunakan DHCP (mirip dengan DNS , pengaturan ini memungkinkan Anda untuk menjamin bahwa lalu lintas ke server NTP akan dirutekan melalui antarmuka yang melaluinya alamat ini diterima).
  • Menambahkan pengaturan SocketBindAllow dan SocketBindDeny untuk mengontrol akses ke soket yang terikat pada layanan saat ini.
  • Untuk file unit, pengaturan bersyarat yang disebut ConditionFirmware telah diterapkan, yang memungkinkan Anda membuat pemeriksaan yang mengevaluasi fungsi firmware, seperti bekerja pada sistem UEFI dan device.tree, serta memeriksa kompatibilitas dengan kemampuan pohon perangkat tertentu.
  • Menerapkan opsi ConditionOSRelease untuk memeriksa kolom di file /etc/os-release. Saat menentukan kondisi untuk memeriksa nilai bidang, operator “=”, “!=”, “=”, “>” dapat diterima.
  • Dalam utilitas hostnamectl, perintah seperti “get-xyz” dan “set-xyz” dibebaskan dari awalan “get” dan “set”, misalnya, alih-alih “hostnamectl get-hostname” dan “hostnamectl “set-hostname” Anda dapat menggunakan perintah "hostnamectl hostname" ", penetapan nilai yang ditentukan dengan menentukan argumen tambahan ("hostnamectl hostname value"). Dukungan untuk perintah lama tetap dipertahankan untuk memastikan kompatibilitas.
  • Utilitas systemd-detect-virt dan pengaturan ConditionVirtualization memastikan identifikasi lingkungan Amazon EC2 yang benar.
  • Pengaturan LogLevelMax dalam file unit sekarang berlaku tidak hanya untuk pesan log yang dihasilkan oleh layanan, namun juga untuk pesan proses PID 1 yang menyebutkan layanan.
  • Memberikan kemampuan untuk memasukkan data SBAT (UEFI Secure Boot Advanced Targeting) dalam file EFI PE systemd-boot.
  • /etc/crypttab mengimplementasikan opsi baru "headless" dan "password-echo" - yang pertama memungkinkan Anda melewati semua operasi yang terkait dengan permintaan kata sandi dan PIN secara interaktif dari pengguna, dan yang kedua memungkinkan Anda mengonfigurasi metode untuk menampilkan input kata sandi (tidak tampilkan apa pun, tampilkan karakter demi karakter dan tampilkan tanda bintang). Opsi “--echo” telah ditambahkan ke systemd-ask-password untuk tujuan serupa.
  • systemd-cryptenroll, systemd-cryptsetup, dan systemd-homed telah memperluas dukungan untuk membuka kunci partisi LUKS2 terenkripsi menggunakan token FIDO2. Menambahkan opsi baru “--fido2-with-user-presence”, “--fido2-with-user-verification” dan “-fido2-with-client-pin” untuk mengontrol verifikasi kehadiran fisik pengguna, verifikasi, dan kebutuhan untuk masuk kode PIN.
  • Menambahkan opsi “--user”, “--system”, “--merge” dan “--file” ke systemd-journal-gatewayd, mirip dengan opsi journalctl.
  • Selain ketergantungan langsung antar unit yang ditentukan melalui parameter OnFailure dan Slice, dukungan untuk ketergantungan terbalik implisit OnFailureOf dan SliceOf telah ditambahkan, yang dapat berguna, misalnya, untuk menentukan semua unit yang termasuk dalam irisan.
  • Menambahkan jenis ketergantungan baru antar unit: OnSuccess dan OnSuccessOf (kebalikan dari OnFailure, dipanggil setelah berhasil diselesaikan); PropagatesStopTo dan StopPropagatedFrom (memungkinkan Anda menyebarkan acara penghentian suatu unit ke unit lain); Upholds dan UpheldBy (alternatif untuk Restart).
  • Utilitas systemd-ask-password sekarang memiliki opsi “--emoji” untuk mengontrol tampilan simbol gembok (🔐) di baris input kata sandi.
  • Menambahkan dokumentasi tentang struktur pohon sumber systemd.
  • Untuk unit, properti MemoryAvailable telah ditambahkan, menunjukkan berapa banyak memori yang tersisa pada unit sebelum mencapai batas yang ditetapkan melalui parameter MemoryMax, MemoryHigh, atau MemoryAvailable.

Sumber: opennet.ru

Tambah komentar