systemd system manager έκδοση 248

Μετά από τέσσερις μήνες ανάπτυξης, παρουσιάζεται η κυκλοφορία του Systemd Manager systemd 248. Η νέα έκδοση παρέχει υποστήριξη για εικόνες για επέκταση καταλόγων συστήματος, το αρχείο διαμόρφωσης /etc/veritytab, το βοηθητικό πρόγραμμα systemd-cryptenroll, ξεκλείδωμα LUKS2 χρησιμοποιώντας τσιπ TPM2 και FIDO2 tokens, εκτελούμενες μονάδες σε απομονωμένο χώρο αναγνωριστικού IPC, πρωτόκολλο BATMAN για δίκτυα πλέγματος, backend nftables για systemd-nspawn. Το Systemd-oomd έχει σταθεροποιηθεί.

Βασικές αλλαγές:

  • Έχει εφαρμοστεί η έννοια των εικόνων επέκτασης συστήματος, οι οποίες μπορούν να χρησιμοποιηθούν για την επέκταση της ιεραρχίας των καταλόγων /usr/ και /opt/ και για την προσθήκη πρόσθετων αρχείων κατά το χρόνο εκτέλεσης, ακόμα κι αν οι καθορισμένοι κατάλογοι έχουν προσαρτηθεί μόνο για ανάγνωση. Όταν προσαρτάται μια εικόνα επέκτασης συστήματος, τα περιεχόμενά της επικαλύπτονται στην ιεραρχία /usr/ και /opt/ χρησιμοποιώντας το OverlayFS.

    Ένα νέο βοηθητικό πρόγραμμα, το systemd-sysext, έχει προταθεί για σύνδεση, αποσύνδεση, προβολή και ενημέρωση εικόνων επεκτάσεων συστήματος. Για αυτόματη σύνδεση ήδη εγκατεστημένων εικόνων κατά την εκκίνηση, έχει προστεθεί η υπηρεσία systemd-sysext.service. Προστέθηκε η παράμετρος "SYSEXT_LEVEL=" στο αρχείο os-release για τον προσδιορισμό του επιπέδου των υποστηριζόμενων επεκτάσεων συστήματος.

  • Για τις μονάδες, έχει εφαρμοστεί η ρύθμιση ExtensionImages, η οποία μπορεί να χρησιμοποιηθεί για τη σύνδεση εικόνων επέκτασης συστήματος με την ιεραρχία χώρου ονομάτων FS μεμονωμένων υπηρεσιών.
  • Προστέθηκε το αρχείο διαμόρφωσης /etc/veritytab για τη διαμόρφωση της επαλήθευσης δεδομένων σε επίπεδο μπλοκ χρησιμοποιώντας τη λειτουργική μονάδα dm-verity. Η μορφή αρχείου είναι παρόμοια με το /etc/crypttab - "section_name device_for_data device_for_hashes check_hash_root options." Προστέθηκε η επιλογή γραμμής εντολών του πυρήνα systemd.verity.root_options για τη διαμόρφωση της συμπεριφοράς dm-verity για τη ριζική συσκευή.
  • Το systemd-cryptsetup προσθέτει τη δυνατότητα εξαγωγής του URI διακριτικού PKCS#11 και του κρυπτογραφημένου κλειδιού από την κεφαλίδα μεταδεδομένων LUKS2 σε μορφή JSON, επιτρέποντας την ενσωμάτωση πληροφοριών σχετικά με το άνοιγμα μιας κρυπτογραφημένης συσκευής στην ίδια τη συσκευή χωρίς τη συμμετοχή εξωτερικών αρχείων.
  • Το systemd-cryptsetup παρέχει υποστήριξη για ξεκλείδωμα κρυπτογραφημένων κατατμήσεων LUKS2 χρησιμοποιώντας τσιπ TPM2 και μάρκες FIDO2, επιπλέον των κουπονιών PKCS#11 που υποστηριζόταν προηγουμένως. Η φόρτωση του libfido2 γίνεται μέσω dlopen(), δηλ. Η διαθεσιμότητα ελέγχεται εν κινήσει, και όχι ως εξάρτηση μέσω καλωδίωσης.
  • Νέες επιλογές "no-write-workqueue" και "no-read-workqueue" έχουν προστεθεί στο /etc/crypttab για systemd-cryptsetup για να ενεργοποιηθεί η σύγχρονη επεξεργασία εισόδου/εξόδου που σχετίζεται με κρυπτογράφηση και αποκρυπτογράφηση.
  • Το βοηθητικό πρόγραμμα systemd-repart έχει προσθέσει τη δυνατότητα ενεργοποίησης κρυπτογραφημένων κατατμήσεων χρησιμοποιώντας τσιπ TPM2, για παράδειγμα, για τη δημιουργία κρυπτογραφημένου διαμερίσματος /var κατά την πρώτη εκκίνηση.
  • Το βοηθητικό πρόγραμμα systemd-cryptenroll έχει προστεθεί για τη σύνδεση των διακριτικών TPM2, FIDO2 και PKCS#11 σε κατατμήσεις LUKS, καθώς και για ξεκαρφίτσωμα και προβολή διακριτικών, σύνδεση εφεδρικών κλειδιών και ορισμό κωδικού πρόσβασης.
  • Προστέθηκε η παράμετρος PrivateIPC, η οποία σας επιτρέπει να ρυθμίσετε τις παραμέτρους του αρχείου μονάδας ώστε να εκτελούνται διεργασίες σε έναν απομονωμένο χώρο IPC με τα δικά τους ξεχωριστά αναγνωριστικά και ουρά μηνυμάτων. Για να συνδέσετε μια μονάδα σε έναν ήδη δημιουργημένο χώρο αναγνωριστικού IPC, προτείνεται η επιλογή IPCNamespacePath.
  • Προστέθηκαν ρυθμίσεις ExecPaths και NoExecPaths για να επιτρέπεται η εφαρμογή της σημαίας noexec σε συγκεκριμένα μέρη του συστήματος αρχείων.
  • Το systemd-networkd προσθέτει υποστήριξη για το πρωτόκολλο πλέγματος BATMAN (Better Approach To Mobile Adhoc Networking), το οποίο επιτρέπει τη δημιουργία αποκεντρωμένων δικτύων στα οποία κάθε κόμβος συνδέεται μέσω γειτονικών κόμβων. Για τη διαμόρφωση, προτείνεται η ενότητα [BatmanAdvanced] στο .netdev, η παράμετρος BatmanAdvanced σε αρχεία .network και ένας νέος τύπος συσκευής "batadv".
  • Η εφαρμογή του μηχανισμού έγκαιρης απόκρισης για χαμηλή μνήμη στο σύστημα systemd-oomd έχει σταθεροποιηθεί. Προστέθηκε η επιλογή DefaultMemoryPressureDurationSec για τη διαμόρφωση του χρόνου αναμονής για την απελευθέρωση ενός πόρου πριν επηρεαστεί μια μονάδα. Το Systemd-oomd χρησιμοποιεί το υποσύστημα πυρήνα PSI (Pressure Stall Information) και σας επιτρέπει να ανιχνεύσετε την έναρξη καθυστερήσεων λόγω έλλειψης πόρων και να τερματίσετε επιλεκτικά διαδικασίες έντασης πόρων σε ένα στάδιο που το σύστημα δεν βρίσκεται ακόμη σε κρίσιμη κατάσταση και δεν αρχίστε να περικόπτετε εντατικά την κρυφή μνήμη και να μετατοπίζετε τα δεδομένα στο διαμέρισμα ανταλλαγής.
  • Προστέθηκε η παράμετρος της γραμμής εντολών του πυρήνα "root=tmpfs", η οποία σας επιτρέπει να προσαρτήσετε το διαμέρισμα ρίζας σε προσωρινή αποθήκευση που βρίσκεται στη μνήμη RAM χρησιμοποιώντας Tmpfs.
  • Η παράμετρος /etc/crypttab που καθορίζει το αρχείο κλειδιού μπορεί τώρα να δείχνει σε τύπους υποδοχών AF_UNIX και SOCK_STREAM. Σε αυτήν την περίπτωση, το κλειδί πρέπει να δίνεται κατά τη σύνδεση στην πρίζα, η οποία, για παράδειγμα, μπορεί να χρησιμοποιηθεί για τη δημιουργία υπηρεσιών που εκδίδουν δυναμικά κλειδιά.
  • Το εναλλακτικό όνομα κεντρικού υπολογιστή για χρήση από τον διαχειριστή συστήματος και το systemd-hostnamed μπορεί πλέον να οριστεί με δύο τρόπους: μέσω της παραμέτρου DEFAULT_HOSTNAME στο os-release και μέσω της μεταβλητής περιβάλλοντος $SYSTEMD_DEFAULT_HOSTNAME. Το systemd-hostnamed χειρίζεται επίσης το "localhost" στο όνομα κεντρικού υπολογιστή και προσθέτει τη δυνατότητα εξαγωγής του ονόματος κεντρικού υπολογιστή καθώς και των ιδιοτήτων "HardwareVendor" και "HardwareModel" μέσω DBus.
  • Το μπλοκ με εκτεθειμένες μεταβλητές περιβάλλοντος μπορεί τώρα να διαμορφωθεί μέσω της νέας επιλογής ManagerEnvironment στο system.conf ή user.conf, και όχι μόνο μέσω της γραμμής εντολών του πυρήνα και των ρυθμίσεων του αρχείου μονάδας.
  • Κατά το χρόνο μεταγλώττισης, είναι δυνατό να χρησιμοποιηθεί η κλήση συστήματος fexecve() για να ξεκινήσει διεργασίες αντί για execve() για να μειωθεί η καθυστέρηση μεταξύ του ελέγχου του περιβάλλοντος ασφαλείας και της εφαρμογής του.
  • Για αρχεία μονάδας, έχουν προστεθεί νέες λειτουργίες υπό όρους ConditionSecurity=tpm2 και ConditionCPUFeature για να ελεγχθεί η παρουσία συσκευών TPM2 και μεμονωμένων δυνατοτήτων CPU (για παράδειγμα, ConditionCPUFeature=rdrand μπορεί να χρησιμοποιηθεί για να ελέγξει εάν ο επεξεργαστής υποστηρίζει τη λειτουργία RDAND).
  • Για τους διαθέσιμους πυρήνες, έχει εφαρμοστεί αυτόματη δημιουργία πινάκων κλήσεων συστήματος για φίλτρα seccomp.
  • Προστέθηκε η δυνατότητα αντικατάστασης νέων προσαρτημάτων σύνδεσης σε υπάρχοντες χώρους ονομάτων προσαρτήσεων υπηρεσιών, χωρίς επανεκκίνηση των υπηρεσιών. Η αντικατάσταση εκτελείται με τις εντολές 'systemctl bind ...' και 'systemctl mount-image …».
  • Προστέθηκε υποστήριξη για τον καθορισμό διαδρομών στις ρυθμίσεις StandardOutput και StandardError με τη μορφή "περικοπή: » για καθάρισμα πριν από τη χρήση.
  • Προστέθηκε η δυνατότητα δημιουργίας σύνδεσης σε μια καθορισμένη περίοδο λειτουργίας χρήστη μέσα σε ένα τοπικό κοντέινερ στο sd-bus. Για παράδειγμα "systemctl -user -M lennart@ start quux".
  • Οι ακόλουθες παράμετροι υλοποιούνται στα αρχεία systemd.link στην ενότητα [Link]:
    • Promiscuous - σας επιτρέπει να αλλάζετε τη συσκευή σε λειτουργία "promiscuous" για να επεξεργαστείτε όλα τα πακέτα δικτύου, συμπεριλαμβανομένων εκείνων που δεν απευθύνονται στο τρέχον σύστημα.
    • TransmitQueues και ReceiveQueues για τον καθορισμό του αριθμού των ουρών TX και RX.
    • TransmitQueueLength για να ορίσετε το μέγεθος της ουράς TX. GenericSegmentOffloadMaxBytes και GenericSegmentOffloadMaxSegment για τον καθορισμό ορίων για τη χρήση της τεχνολογίας GRO (Generic Receive Offload).
  • Νέες ρυθμίσεις έχουν προστεθεί στα αρχεία systemd.network:
    • [Network] RouteTable για επιλογή πίνακα δρομολόγησης.
    • [RoutingPolicyRule] Πληκτρολογήστε τον τύπο δρομολόγησης ("blackhole, "unreachable", "prohibit");
    • [IPv6AcceptRA] RouteDenyList και RouteAllowList για λίστες επιτρεπόμενων και απαγορευμένων διαφημίσεων διαδρομών.
    • [DHCPv6] Χρησιμοποιήστε τις Διευθύνσεις για να αγνοήσετε τη διεύθυνση που εκδόθηκε από το DHCP.
    • [DHCPv6PrefixDelegation] ManageTemporaryAddress;
    • ActivationPolicy για να ορίσετε την πολιτική σχετικά με τη δραστηριότητα της διεπαφής (να διατηρείτε πάντα την κατάσταση UP ή DOWN ή να επιτρέπεται στον χρήστη να αλλάζει καταστάσεις με την εντολή "ip link set dev").
  • Προστέθηκαν επιλογές [VLAN] Protocol, IngressQOSMaps, EgressQOSMaps και [MACVLAN] BroadcastMulticastQueueLength σε αρχεία systemd.netdev για τη διαμόρφωση της επεξεργασίας πακέτων VLAN.
  • Σταμάτησε η προσάρτηση του καταλόγου /dev/ σε λειτουργία noexec, καθώς προκαλεί διένεξη όταν χρησιμοποιείται η εκτελέσιμη σημαία με αρχεία /dev/sgx. Για να επιστρέψετε την παλιά συμπεριφορά, μπορείτε να χρησιμοποιήσετε τη ρύθμιση NoExecPaths=/dev.
  • Τα δικαιώματα αρχείου /dev/vsock έχουν αλλάξει σε 0o666 και τα αρχεία /dev/vhost-vsock και /dev/vhost-net έχουν μετακινηθεί στην ομάδα kvm.
  • Η βάση δεδομένων ID υλικού έχει επεκταθεί με συσκευές ανάγνωσης δακτυλικών αποτυπωμάτων USB που υποστηρίζουν σωστά τη λειτουργία αναστολής λειτουργίας.
  • Πρόσθεσε υποστήριξη με επίλυση συστήματος για την έκδοση απαντήσεων σε ερωτήματα DNSSEC μέσω ενός προγράμματος επίλυσης στελέχους. Οι τοπικοί πελάτες μπορούν να εκτελέσουν επικύρωση DNSSEC μόνοι τους, ενώ οι εξωτερικοί πελάτες αποστέλλονται αμετάβλητοι στον γονικό διακομιστή DNS.
  • Προστέθηκε η επιλογή CacheFromLocalhost στο solved.conf, όταν οριστεί, το systemd-resolved θα χρησιμοποιεί προσωρινή αποθήκευση ακόμη και για κλήσεις προς τον διακομιστή DNS στο 127.0.0.1 (από προεπιλογή, η προσωρινή αποθήκευση τέτοιων αιτημάτων είναι απενεργοποιημένη για να αποφευχθεί η διπλή προσωρινή αποθήκευση).
  • Το systemd-resolved προσθέτει υποστήριξη για RFC-5001 NSID στην τοπική συσκευή επίλυσης DNS, επιτρέποντας στους πελάτες να κάνουν διαφοροποίηση μεταξύ των αλληλεπιδράσεων με τον τοπικό επιλύτη και έναν άλλο διακομιστή DNS.
  • Το βοηθητικό πρόγραμμα solvectl υλοποιεί τη δυνατότητα εμφάνισης πληροφοριών σχετικά με την πηγή δεδομένων (τοπική κρυφή μνήμη, αίτημα δικτύου, απόκριση τοπικού επεξεργαστή) και τη χρήση κρυπτογράφησης κατά τη μετάδοση δεδομένων. Οι επιλογές --cache, --synthesize, --network, --zone, --trust-anchor και --validate παρέχονται για τον έλεγχο της διαδικασίας προσδιορισμού ονόματος.
  • Το systemd-nspawn προσθέτει υποστήριξη για τη διαμόρφωση ενός τείχους προστασίας χρησιμοποιώντας nftables εκτός από την υπάρχουσα υποστήριξη iptables. Η ρύθμιση IPMasquerade στο systemd-networkd έχει προσθέσει τη δυνατότητα χρήσης ενός backend που βασίζεται σε nftables.
  • systemd-localed προστέθηκε υποστήριξη για την κλήση locale-gen για τη δημιουργία τοπικών ρυθμίσεων που λείπουν.
  • Οι επιλογές --pager/-no-pager/-json= έχουν προστεθεί σε διάφορα βοηθητικά προγράμματα για την ενεργοποίηση/απενεργοποίηση της λειτουργίας σελιδοποίησης και την έξοδο σε μορφή JSON. Προστέθηκε η δυνατότητα ρύθμισης του αριθμού των χρωμάτων που χρησιμοποιούνται στο τερματικό μέσω της μεταβλητής περιβάλλοντος SYSTEMD_COLORS (“16” ή “256”).
  • Η έκδοση με ξεχωριστές ιεραρχίες καταλόγου (split / και /usr) και υποστήριξη cgroup v1 έχει καταργηθεί.
  • Ο κύριος κλάδος στο Git έχει μετονομαστεί από 'master' σε 'main'.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο