systemd 245 tersedia dengan implementasi direktori home portabel

Setelah tiga bulan pengembangan disajikan rilis manajer sistem systemd 245. Dalam rilis baru, komponen baru systemd-homed dan systemd-repart ditambahkan, dukungan untuk profil pengguna portabel dalam format JSON disertakan, kemampuan untuk mendefinisikan namespace di systemd-journald disediakan, dan dukungan untuk mekanisme “pidfd” ditambahkan . Didesain ulang sepenuhnya situs web proyek, yang mengumpulkan sebagian besar dokumentasi yang tersedia dan mengusulkan logo baru.

systemd 245 tersedia dengan implementasi direktori home portabel

Utama perubahan:

  • Layanan tambahan systemd-homed, yang menyediakan pengelolaan direktori home portabel, dikirimkan dalam bentuk file gambar terpasang, yang datanya dienkripsi. Systemd-homed memungkinkan Anda membuat lingkungan mandiri untuk data pengguna yang dapat ditransfer antar sistem berbeda tanpa mengkhawatirkan sinkronisasi dan kerahasiaan pengidentifikasi. Kredensial pengguna terikat pada direktori home dan bukan pada pengaturan sistem—profil dalam format ini digunakan sebagai pengganti /etc/passwd, /etc/group dan /etc/shadow JSON. Untuk lebih jelasnya, lihat pengumuman terakhir systemd-homed.
  • Menambahkan komponen pendamping systemd-homed "penggunadb” (“systemd-userdb”), yang menerjemahkan akun NSS UNIX/glibc ke dalam data JSON dan menyediakan API Varlink terpadu untuk melakukan kueri dan mengulangi data. Profil JSON yang terkait dengan direktori beranda menentukan parameter yang diperlukan untuk pekerjaan pengguna, termasuk nama pengguna, hash kata sandi, kunci enkripsi, kuota, dan sumber daya yang disediakan. Profil tersebut dapat disertifikasi dengan tanda tangan digital yang disimpan di token Yubikey eksternal. Untuk mengelola profil, utilitas “userdbctl” diusulkan. Dukungan untuk profil JSON telah ditambahkan ke berbagai komponen systemd, termasuk systemd-logind dan pam-systemd, memungkinkan pengguna direktori portabel untuk mengautentikasi, masuk, mengatur variabel lingkungan, membuat sesi, menetapkan batas, dll. Kedepannya diharapkan framework sssd mampu menghasilkan profil JSON dengan pengaturan pengguna yang tersimpan di LDAP.
  • Utilitas baru “systemd-repart” telah ditambahkan, dirancang untuk mempartisi ulang tabel partisi disk dalam format GPT. Struktur partisi didefinisikan dalam bentuk deklaratif melalui file yang menjelaskan partisi mana yang harus atau dapat ada. Pada setiap boot, tabel partisi sebenarnya dibandingkan dengan file-file ini, setelah itu partisi yang hilang ditambahkan atau, jika ukuran relatif atau absolut yang ditentukan dalam pengaturan tidak cocok, ukuran partisi yang sudah ada ditambah. Hanya perubahan bertahap yang diperbolehkan, mis. menghapus dan memperkecil ukuran tidak dapat dilakukan, partisi hanya dapat ditambah dan diperbesar.
    Utilitas ini dirancang untuk diluncurkan dari initrd dan secara otomatis mendeteksi disk tempat partisi root berada, yang tidak memerlukan konfigurasi tambahan, kecuali untuk file dengan definisi perubahan.

    Dalam praktiknya, systemd-repart dapat berguna untuk image sistem operasi yang mungkin awalnya dikirimkan dalam bentuk minimal, dan setelah boot pertama dapat diperluas ke ukuran perangkat blok yang ada atau ditambah dengan partisi tambahan (misalnya, root partisi dapat diperluas untuk mencakup seluruh disk atau setelah boot pertama buat partisi swap atau /home). Kegunaan lainnya adalah konfigurasi dengan dua partisi yang berputar - hanya partisi pertama yang mungkin disediakan pada awalnya, dan partisi kedua akan dibuat pada boot pertama.

  • Sekarang dimungkinkan untuk meluncurkan beberapa contoh jurnal sistemd, yang masing-masing menyimpan log di namespacenya sendiri. Selain systemd-journald.service utama, direktori .service menawarkan templat untuk membuat instance tambahan yang terikat pada namespacenya menggunakan direktif “LogNamespace”. Setiap namespace log dilayani oleh proses latar belakang terpisah dengan serangkaian pengaturan dan batasannya sendiri. Fitur yang diusulkan mungkin berguna untuk penyeimbangan beban dengan volume log yang besar atau untuk meningkatkan isolasi aplikasi. Menambahkan opsi "--namespace" ke journalctl untuk membatasi kueri hanya pada namespace yang ditentukan.
  • Systemd-udevd dan komponen systemd lainnya telah menambahkan dukungan untuk mekanisme untuk menetapkan nama alternatif ke antarmuka jaringan, memungkinkan beberapa nama digunakan secara bersamaan untuk satu antarmuka. Nama dapat berisi hingga 128 karakter (sebelumnya, nama antarmuka jaringan dibatasi hingga 16 karakter). Secara default, systemd-udevd sekarang menetapkan setiap antarmuka jaringan semua nama varian yang dihasilkan oleh skema penamaan yang didukung. Perilaku ini dapat diubah melalui pengaturan AlternativeName dan AlternativeNamesPolicy baru di file .link. systemd-nspawn mengimplementasikan pembuatan nama alternatif dengan nama kontainer lengkap untuk tautan veth yang dibuat di sisi host.
  • API sd-event.h menambahkan dukungan untuk subsistem kernel Linux "pidfd" untuk menangani situasi penggunaan kembali PID (pidfd dikaitkan dengan proses tertentu dan tidak berubah, sedangkan PID dapat dikaitkan dengan proses lain setelah proses saat ini terkait dengannya keluar dari PID ini). Semua komponen systemd kecuali PID 1 telah dikonversi untuk menggunakan pidfds jika subsistem didukung oleh kernel saat ini.
  • systemd-logind menyediakan pemeriksaan akses untuk operasi perubahan terminal virtual melalui PolicyKit. Secara default, izin untuk mengubah terminal aktif hanya diberikan kepada pengguna yang telah memulai sesi di terminal virtual lokal setidaknya sekali.
  • Untuk mempermudah pembuatan gambar initrd dengan systemd, pengendali PID 1 sekarang mendeteksi apakah gambar ini sedang digunakan di initrd dan dalam hal ini secara otomatis memuat initrd.target alih-alih default.target. Dengan pendekatan ini, image initrd dan sistem utama hanya dapat berbeda jika ada file /etc/initrd-release.
  • Menambahkan parameter baris perintah kernel baru - "systemd.cpu_affinity", setara dengan opsi CPUAffinity di /etc/systemd/system.conf dan memungkinkan Anda mengonfigurasi masker afinitas CPU untuk PID 1 dan proses lainnya.
  • Mengaktifkan pemuatan ulang database SELinux bersama dengan memulai ulang PID 1 melalui perintah seperti "systemctl daemon-reload".
  • Pengaturan “systemd.show-status=error” telah ditambahkan ke pengendali PID 1, ketika disetel, hanya pesan kesalahan dan penundaan signifikan selama pemuatan yang ditampilkan di konsol.
  • systemd-sysusers menambahkan dukungan untuk membuat pengguna dengan nama grup utama yang berbeda dari nama pengguna.
  • systemd-growfs memperkenalkan dukungan untuk perluasan partisi XFS melalui opsi pemasangan x-systemd.growfs di /etc/fstab, selain perluasan partisi yang sebelumnya didukung dengan Ext4 dan Btrfs.
  • Menambahkan opsi x-initrd.attach ke /etc/crypttab untuk menentukan partisi terenkripsi yang sudah dibuka kuncinya pada tahap initrd.
  • systemd-cryptsetup telah menambahkan dukungan (opsi pkcs11-uri di /etc/crypttab) untuk membuka kunci partisi terenkripsi menggunakan kartu pintar PKCS#11, misalnya untuk melampirkan enkripsi partisi ke YubiKeys.
  • Opsi pemasangan baru "x-systemd.required-by" dan "x-systemd.wanted-by" telah ditambahkan ke /etc/fstab untuk secara eksplisit mengonfigurasi unit yang menentukan operasi pemasangan yang akan dipanggil, bukan local-fs.target dan remote -fs .target.
  • Opsi sandboxing layanan baru telah ditambahkan - ProtectClock, yang membatasi penulisan ke jam sistem (akses diblokir pada tingkat /dev/rtc, panggilan sistem, dan izin CAP_SYS_TIME/CAP_WAKE_ALARM).
  • Untuk spesifikasi Partisi yang Dapat Ditemukan dan systemd-gpt-auto-generator menambahkan deteksi partisi
    /var dan /var/tmp.

  • Dalam "systemctl list-unit-files", saat menampilkan daftar unit, kolom baru telah muncul yang mencerminkan status pengaktifan yang ditawarkan dalam preset pabrikan untuk jenis unit ini.
  • Opsi “—dengan-dependensi” telah ditambahkan ke “systemctl”, ketika diinstal, perintah seperti “systemctl status” dan “systemctl cat” tidak hanya akan menampilkan semua unit terkait, tetapi juga unit yang bergantung padanya.
  • Di systemd-networkd, konfigurasi qdisc telah menambahkan kemampuan untuk mengkonfigurasi parameter TBF (Token Bucket Filter), SFQ (Stochastic Fairness Queuing), CoDel (Controlled-Delay Active Queue Management) dan FQ (Fair Queue).
  • systemd-networkd menambahkan dukungan untuk perangkat jaringan IFB (Blok Fungsional Menengah).
  • Systemd-networkd mengimplementasikan parameter MultiPathRoute di bagian [Route] untuk mengonfigurasi rute multi-jalur.
  • Di systemd-networkd untuk klien DHCPv4, opsi SendDecline telah ditambahkan, ketika ditentukan, setelah menerima respons DHCP dengan alamat, pemeriksaan alamat duplikat dilakukan dan jika konflik alamat terdeteksi, alamat yang dikeluarkan ditolak. Opsi RouteMTUBytes juga telah ditambahkan ke klien DHCPv4, memungkinkan Anda menentukan ukuran MTU untuk rute yang dihasilkan dari pengikatan alamat IP (sewa).
  • Pengaturan PrefixRoute di bagian [Alamat] file .network sudah tidak digunakan lagi. Itu digantikan oleh pengaturan “AddPrefixRoute”, yang memiliki arti sebaliknya.
  • Dalam file .network, dukungan untuk nilai baru “_dhcp” telah ditambahkan ke pengaturan Gateway di bagian “[Rute]”, ketika disetel, rute statis dipilih berdasarkan gateway yang dikonfigurasi melalui DHCP.
  • Pengaturan telah muncul di file .network di bagian “[RoutingPolicyRule]”.
    Pengguna dan SuppressPrefixLength untuk menentukan perutean sumber berdasarkan rentang UID dan ukuran awalan.

  • Di networkctl, perintah "status" menyediakan kemampuan untuk menampilkan log sehubungan dengan setiap antarmuka jaringan.
  • systemd-networkd-wait-online menambahkan dukungan untuk mengatur waktu maksimum untuk menunggu antarmuka beroperasi dan menunggu antarmuka turun.
  • Berhenti memproses file .link dan .network dengan bagian “[Match]” yang kosong atau diberi komentar.
  • Di file .link dan .network, di bagian “[Match]”, pengaturan “PermanentMACAddress” telah ditambahkan untuk memeriksa alamat MAC permanen perangkat jika menggunakan MAC acak yang dihasilkan.
  • Bagian “[TrafficControlQueueingDiscipline]” di file .network telah diubah namanya menjadi “[NetworkEmulator]”, dan awalan “NetworkEmulator” telah dihapus dari nama pengaturan terkait.
  • systemd-resolved untuk DNS-over-TLS menambahkan dukungan untuk pemeriksaan SNI.

Sumber: opennet.ru

Tambah komentar