Ροή

Οδηγός: Απενεργοποιήστε τις περιττές υπηρεσίες στο Debian Linux

techne

Administrator
Joined
27 May 2010
Μηνύματα
1,157
Βαθμολογία
24
Points
38
Website
www.eltube.gr
debian.png

Απενεργοποιώντας τις αχρησιμοποίητες υπηρεσίες, μπορείτε να αυξήσετε την απόδοση του συστήματός σας και να μειώσετε τους κινδύνους ευπάθειας. Αυτό το σεμινάριο εξηγεί πώς μπορείτε να απενεργοποιήσετε τις υπηρεσίες σε διανομές Linux που βασίζονται στο Debian, συμπεριλαμβανομένου του Ubuntu.

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

Απενεργοποίηση Υπηρεσιών σε Debian και Ubuntu

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

Για να παραθέσετε όλες τις υπηρεσίες, εκτελέστε την εντολή service ακολουθούμενη από το όρισμα –status-all, όπως φαίνεται παρακάτω.

Code:
sudo service --status-all

Η λίστα που εμφανίζετε προσδιορίζει τις ενεργοποιημένες υπηρεσίες με + και τις απενεργοποιημένες υπηρεσίες με -.

Disable-Services.png

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

Για να διακόψετε την υπηρεσία πριν την απενεργοποιήσετε, χρησιμοποιήστε την εντολή 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

Disable-Services1.png

Όπως μπορείτε να δείτε, η υπηρεσία bluetooth είναι πλέον ανενεργή επειδή έχει ένα σύμβολο μείον (-) δίπλα της αντί για +.

Μπορείτε να ελέγξετε την κατάσταση μιας υπηρεσίας μεμονωμένα, εκτελώντας την ακόλουθη σύνταξη.

sudo service <Service-Name> status

Στο πρακτικό παράδειγμα που φαίνεται παρακάτω, ελέγχω την κατάσταση της υπηρεσίας bluetooth χρησιμοποιώντας τη σύνταξη που φαίνεται παραπάνω.

Code:
sudo service bluetooth status

Disable-Services2.png

Όπως μπορείτε να δείτε, η υπηρεσία είναι ανενεργή και απενεργοποιημένη.

Ένας τρομερός και συνιστώμενος τρόπος για να απενεργοποιήσετε τις υπηρεσίες είναι να τις απεγκαταστήσετε. Για παράδειγμα, εάν θέλετε να καταργήσετε έναν διακομιστή ιστού 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

Disable-Services3.png

Όπως μπορείτε να δείτε, η υπηρεσία αυτή τη στιγμή εκτελείται και είναι απενεργοποιημένη.


Τρόπος επανεκκίνησης και επαναφόρτωσης υπηρεσιών σε 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
 
Top Bottom