Πώς να καλύψετε μια υπηρεσία χρησιμοποιώντας την εντολή systemctl

Pos Na Kalypsete Mia Yperesia Chresimopoiontas Ten Entole Systemctl



Το systemctl είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών που χρησιμοποιείται για τη διαχείριση υπηρεσιών συστήματος. Έχει μια ποικιλία επιλογών για τη διαχείριση της υπηρεσίας στο Linux, όπως η εκκίνηση μιας υπηρεσίας, η διακοπή της, η ενεργοποίηση και η απενεργοποίησή της. Υπάρχει μια άλλη επιλογή που ονομάζεται α μάσκα .

Η κάλυψη μιας υπηρεσίας systemd σημαίνει ότι η υπηρεσία είναι απενεργοποιημένη και δεν μπορεί να ενεργοποιηθεί, ακόμη και από το σύστημα ή με μη αυτόματη εντολή. Η κάλυψη είναι μια ισχυρότερη μορφή απενεργοποίησης.

Σε αυτόν τον οδηγό, θα σας καθοδηγήσω στο πώς να κρύψετε μια υπηρεσία στο Linux χρησιμοποιώντας το systemctl και πώς να την αποκαλύψετε. Επιπλέον, θα καλύψω τις βασικές διαφορές μεταξύ μιας υπηρεσίας με μάσκα και μιας υπηρεσίας με ειδικές ανάγκες.







Προειδοποίηση: Στο Linux, οι υπηρεσίες είναι αλληλεξαρτώμενες. Εφόσον η κάλυψη της υπηρεσίας την απενεργοποιεί και απαγορεύει οποιαδήποτε ενεργοποίηση, χρησιμοποιήστε την προσεκτικά.



Πριν προχωρήσουμε περαιτέρω, ας καταλάβουμε πρώτα τον μηχανισμό πίσω από την υπηρεσία με μάσκα.



Τι είναι η υπηρεσία με μάσκα

Μια καλυμμένη υπηρεσία είναι μια μόνιμα απενεργοποιημένη υπηρεσία που εμποδίζει την ενεργοποίησή της από το σύστημα ή το διαχειριστή συστήματος. Οι διαχειριστές συστήματος χρησιμοποιούν γενικά το μάσκα επιλογή για απενεργοποίηση των δυσλειτουργικών ή αντικρουόμενων υπηρεσιών. Ωστόσο, συνιστάται να χρησιμοποιείτε αυτήν την επιλογή με προσοχή, καθώς η κάλυψη μιας κρίσιμης υπηρεσίας συστήματος μπορεί να δημιουργήσει εμπόδια στην εκκίνηση του συστήματος.





Πώς να καταχωρίσετε τις υπηρεσίες με μάσκα

Για να παραθέσετε τις καλυμμένες υπηρεσίες στο Linux, χρησιμοποιήστε το λίστα-μονάδες επιλογή με την κατάσταση που αναφέρεται καλυμμένη.

systemctl λίστα-μονάδες --κατάσταση =μασκοφόρος



Πώς να καλύψετε μια υπηρεσία

Η εντολή systemctl μπορεί να χρησιμοποιηθεί για να συγκαλύψει οποιαδήποτε υπηρεσία με το μάσκα επιλογή. Η γενική σύνταξη της εντολής αναφέρεται παρακάτω.

sudo μάσκα systemctl [ Ονομα Υπηρεσίας ]

Η επιλογή μάσκας στην παραπάνω σύνταξη ουσιαστικά κάνει μια συμβολική σύνδεση με την υπηρεσία στο /etc/systemd/system .

Μπορούν επίσης να αναφερθούν μία ή περισσότερες υπηρεσίες, χωρισμένες από ένα διάστημα.

Ας κρύψουμε την υπηρεσία SSH χρησιμοποιώντας την παραπάνω σύνταξη.

sudo systemctl mask ssh.service

Για να ελέγξετε την κατάσταση μιας καλυμμένης υπηρεσίας, χρησιμοποιήστε το –κράτος= επιλογή με systemctl λίστα-μονάδες .

Εάν επιχειρήσετε να ξεκινήσετε την υπηρεσία, θα λάβετε μια έξοδο που θα λέει ότι η μονάδα είναι καλυμμένη.

Σημείωση: Δεν μπορείτε να κρύψετε μια υπηρεσία που δημιουργήθηκε στο /etc/systemd/system Ευρετήριο. Επειδή οι υπηρεσίες σε αυτόν τον κατάλογο είναι απαραίτητες για τις λειτουργίες του συστήματος, η απόκρυψή τους μπορεί να βλάψει την κανονική λειτουργία του συστήματος. Ωστόσο, η απενεργοποίηση αυτών των υπηρεσιών ισοδυναμεί με την απόκρυψή τους.

Πώς να καλύψετε μια υπηρεσία προσωρινά

Μια υπηρεσία μπορεί να καλυφθεί μέχρι την επόμενη εκκίνηση χρησιμοποιώντας το -χρόνος εκτέλεσης επιλογή.

sudo μάσκα systemctl [ Ονομα Υπηρεσίας ] --χρόνος εκτέλεσης

Δημιουργεί έναν συμβολικό σύνδεσμο της υπηρεσίας στο /run/systemd/system Ευρετήριο. Εάν ο συμβολικός σύνδεσμος της υπηρεσίας υπάρχει ήδη στον κατάλογο, τότε η υπηρεσία έχει σχεδιαστεί για να καλύπτεται προσωρινά.

Πώς να αποκαλύψετε μια υπηρεσία

Χρησιμοποιήστε την εντολή systemctl με το ανακαλύπτω επιλογή για την κατάργηση των περιορισμών μάσκας. Αυτή η εντολή δεν θα αποδεχτεί τη διαδρομή της υπηρεσίας, επομένως, απαιτείται να αναφέρονται μόνο ονόματα υπηρεσιών.

sudo systemctl αποκαλύπτω [ Ονομα Υπηρεσίας ]

Ίσως χρειαστεί να επανεκκινήσετε το σύστημα μετά την αποκάλυψη της υπηρεσίας.

Διαφορά μεταξύ μιας υπηρεσίας με μάσκα και μιας υπηρεσίας με ειδικές ανάγκες

Μια απενεργοποιημένη υπηρεσία μπορεί να ενεργοποιηθεί και να ξεκινήσει από το σύστημα και με μη αυτόματες εντολές. Ωστόσο, η καλυμμένη υπηρεσία δεν μπορεί να ενεργοποιηθεί, ούτε από το σύστημα ούτε από χειροκίνητη αλληλεπίδραση.

Όταν μια υπηρεσία γίνεται απενεργοποιημένη, δημιουργείται ένας συμβολικός σύνδεσμος στο /etc/systemd/system καταργείται και η υπηρεσία δεν ενεργοποιείται κατά την εκκίνηση. Μπορεί όμως να ενεργοποιηθεί από τις εξαρτημένες υπηρεσίες.

Από την άλλη πλευρά, η υπηρεσία με μάσκα συνδέεται με το /dev/null που το καθιστά μόνιμα άχρηστο.

Σημειώστε ότι το /dev κατάλογος περιέχει τα αρχεία των συσκευών μπλοκ. ο /dev/null είναι μια εικονική συσκευή που αφαιρεί οτιδήποτε γράφεται σε αυτήν. Γενικά χρησιμοποιείται για την απόρριψη εξόδου από το stdout και το stderr.

συμπέρασμα

Εάν θέλετε να απενεργοποιήσετε οριστικά οποιαδήποτε υπηρεσία, χρησιμοποιήστε την εντολή systemctl mask. Μια καλυμμένη υπηρεσία δεν μπορεί να ενεργοποιηθεί ακόμη και από το σύστημα. Σε αυτόν τον οδηγό, κάλυψα τον τρόπο κάλυψης μιας υπηρεσίας μόνιμα και προσωρινά. Επιπλέον, αναφέραμε επίσης μια μέθοδο αποκάλυψης μιας υπηρεσίας και τις βασικές διαφορές μεταξύ μιας καλυμμένης και μιας απενεργοποιημένης υπηρεσίας.