techne
Administrator

Απενεργοποιώντας τις αχρησιμοποίητες υπηρεσίες, μπορείτε να αυξήσετε την απόδοση του συστήματός σας και να μειώσετε τους κινδύνους ευπάθειας. Αυτό το σεμινάριο εξηγεί πώς μπορείτε να απενεργοποιήσετε τις υπηρεσίες σε διανομές Linux που βασίζονται στο Debian, συμπεριλαμβανομένου του Ubuntu.
Αυτό το άρθρο είναι βελτιστοποιημένο τόσο για χρήστες που αναζητούν πρακτικές οδηγίες για γρήγορη υλοποίηση όσο και για χρήστες που αναζητούν μια βαθιά κατανόηση της διαχείρισης υπηρεσιών. Η εκμάθηση του τρόπου απενεργοποίησης και διαχείρισης υπηρεσιών είναι υποχρεωτική για όλους τους χρήστες Linux, ανεξάρτητα από το τρέχον επίπεδο γνώσεών τους.
Απενεργοποίηση Υπηρεσιών σε Debian και Ubuntu
Αρχικά, ας δούμε ποιες υπηρεσίες εκτελούνται για να αποφασίσουμε ποια υπηρεσία θα απορρίψουμε.
Για να παραθέσετε όλες τις υπηρεσίες, εκτελέστε την εντολή service ακολουθούμενη από το όρισμα –status-all, όπως φαίνεται παρακάτω.
Code:
sudo service --status-all
Η λίστα που εμφανίζετε προσδιορίζει τις ενεργοποιημένες υπηρεσίες με + και τις απενεργοποιημένες υπηρεσίες με -.

Εάν μια υπηρεσία είναι απενεργοποιημένη αλλά δεν έχει διακοπεί, θα συνεχίσει να λειτουργεί μέχρι την επόμενη επανεκκίνηση.
Για να διακόψετε την υπηρεσία πριν την απενεργοποιήσετε, χρησιμοποιήστε την εντολή service ακολουθούμενη από το όνομα της υπηρεσίας και το όρισμα stop. Η σύνταξη φαίνεται παρακάτω.
sudo service <Service-Name> stop
Για να δείξω ένα πρακτικό παράδειγμα, θα απενεργοποιήσω την υπηρεσία Bluetooth.
Code:
sudo service bluetooth stop
Για να απενεργοποιήσετε πλήρως τις υπηρεσίες χρησιμοποιήστε την εντολή systemctl ακολουθούμενη από το όρισμα disable και το όνομα της υπηρεσίας. η σύνταξη φαίνεται παρακάτω.
sudo systemctl disable <service>
Για να απενεργοποιήσω την υπηρεσία bluetooth, αποτρέποντας την επανεκκίνηση της κατά την επόμενη επανεκκίνηση, θα εκτελούσα την ακόλουθη εντολή.
Code:
sudo systemctl disable bluetooth
Code:
sudo service --status-all

Όπως μπορείτε να δείτε, η υπηρεσία bluetooth είναι πλέον ανενεργή επειδή έχει ένα σύμβολο μείον (-) δίπλα της αντί για +.
Μπορείτε να ελέγξετε την κατάσταση μιας υπηρεσίας μεμονωμένα, εκτελώντας την ακόλουθη σύνταξη.
sudo service <Service-Name> status
Στο πρακτικό παράδειγμα που φαίνεται παρακάτω, ελέγχω την κατάσταση της υπηρεσίας bluetooth χρησιμοποιώντας τη σύνταξη που φαίνεται παραπάνω.
Code:
sudo service bluetooth status

Όπως μπορείτε να δείτε, η υπηρεσία είναι ανενεργή και απενεργοποιημένη.
Ένας τρομερός και συνιστώμενος τρόπος για να απενεργοποιήσετε τις υπηρεσίες είναι να τις απεγκαταστήσετε. Για παράδειγμα, εάν θέλετε να καταργήσετε έναν διακομιστή ιστού apache2 σε διανομές Linux που βασίζονται στο Debian και στο Ubuntu, εκτελέστε την ακόλουθη εντολή, όπου το apache2 είναι η υπηρεσία που θέλετε να καταργήσετε και να απενεργοποιήσετε.
Code:
sudo apt remove apache2
Έναρξη και ενεργοποίηση υπηρεσιών σε Debian και Ubuntu
Για να ξεκινήσω την υπηρεσία bluetooth, θα έτρεχα:
Code:
sudo systemctl start bluetooth
Μπορείτε επίσης να ξεκινήσετε υπηρεσίες χρησιμοποιώντας την εντολή service όπως φαίνεται παρακάτω, όπου ξεκινά η υπηρεσία bluetooth.
Code:
sudo service bluetooth start
Η έναρξη μιας υπηρεσίας δεν ισοδυναμεί με την ενεργοποίησή της. Εάν ξεκινήσει μια απενεργοποιημένη υπηρεσία, θα εκτελεστεί μέχρι την επόμενη επανεκκίνηση.
Η πρώτη ενότητα αυτού του σεμιναρίου εξήγησε τη χρήση της εντολής υπηρεσίας για την εμφάνιση μιας κατάστασης υπηρεσίας. Μπορείτε επίσης να ελέγξετε μια κατάσταση υπηρεσίας χρησιμοποιώντας την εντολή systemctl με την ακόλουθη σύνταξη.
sudo systemctl status <<em>Service-name</em>>
Για παράδειγμα, για να ελέγξω την κατάσταση της υπηρεσίας bluetooth χρησιμοποιώντας το systemctl, εκτελώ την ακόλουθη εντολή.
Code:
sudo systemctl status bluetooth

Όπως μπορείτε να δείτε, η υπηρεσία αυτή τη στιγμή εκτελείται και είναι απενεργοποιημένη.
Τρόπος επανεκκίνησης και επαναφόρτωσης υπηρεσιών σε Debian και Ubuntu Linux
Όταν διαμορφώνετε εκ νέου τις παραμέτρους των υπηρεσιών και χρειάζεται να τις επανεκκινήσετε/φορτώσετε ξανά για να τεθούν σε ισχύ οι αλλαγές, μπορείτε να χρησιμοποιήσετε διαφορετικές διαθέσιμες επιλογές.
Για παράδειγμα, για να επανεκκινήσω την υπηρεσία bluetooth, εκτελώ την εντολή systemctl όπως φαίνεται στην παρακάτω.
Code:
sudo systemctl restart bluetooth
Μπορείτε επίσης να χρησιμοποιήσετε την εντολή service για επανεκκίνηση υπηρεσιών χρησιμοποιώντας τη σύνταξη του παρακάτω παραδείγματος, όπου γίνεται επανεκκίνηση της υπηρεσίας bluetooth.
Code:
sudo service bluetooth --full-restart
Η επαναφόρτωση υπηρεσιών είναι μια εξαιρετική εναλλακτική λύση στην επανεκκίνηση. Όταν η επαναφόρτωση είναι διαθέσιμη στην υπηρεσία, οι αλλαγές διαμόρφωσης μπορούν να τεθούν σε ισχύ χωρίς επανεκκίνηση πλήρους υπηρεσίας, αποτρέποντας τη διακοπή της υπηρεσίας.
Για να φορτώσετε ξανά υπηρεσίες χρησιμοποιώντας την εντολή systemctl, χρησιμοποιήστε τη σύνταξη που φαίνεται στο παρακάτω παράδειγμα, όπου η διαμόρφωση της υπηρεσίας vsftpd φορτώνεται ξανά χωρίς διακοπή της υπηρεσίας (Χωρίς επανεκκίνηση).
Code:
sudo systemctl reload vsftpd
Για να φορτώσετε ξανά μια υπηρεσία χρησιμοποιώντας την εντολή service αντί του systemctl, χρησιμοποιήστε την ακόλουθη σύνταξη, όπου φορτώνεται ξανά το vsftpd.
Code:
sudo service vsftpd reload
Εντολές αντιμετώπισης προβλημάτων διαχείρισης υπηρεσιών Linux
Συνήθως, όταν μια υπηρεσία αποτυγχάνει, την επανεκκινούμε ή τη σταματάμε και στη συνέχεια την ξαναρχίζουμε χρησιμοποιώντας ορισμένες από τις εντολές που εξηγήθηκαν προηγουμένως σε αυτό το σεμινάριο.
Η εντολή systemctl ακολουθούμενη από την επιλογή –failed θα εμφανίσει τις αποτυχημένες υπηρεσίες που δεν φορτώθηκαν ή ξεκίνησαν σωστά ή διακόπηκαν.
Για να εμφανίσετε αποτυχημένες υπηρεσίες χρησιμοποιήστε την ακόλουθη εντολή.
Code:
sudo systemctl --failed