Τι είναι / etc / services στο Linux / Unix;

Τα αρχεία υπηρεσιών Linux αποθηκεύουν καλά γνωστά λιμάνια

Τα λειτουργικά συστήματα UNIX αποθηκεύουν αυτό που ονομάζεται αρχείο υπηρεσιών στο / etc / services. Αποθηκεύει πληροφορίες σχετικά με πολλές υπηρεσίες που ενδέχεται να χρησιμοποιούν οι εφαρμογές-πελάτες στον υπολογιστή. Μέσα στο αρχείο είναι το όνομα της υπηρεσίας, ο αριθμός θύρας και το πρωτόκολλο που χρησιμοποιεί, καθώς και όλα τα ισχύοντα ψευδώνυμα.

Οι αριθμοί των θυρών αντιστοιχίζονται σε συγκεκριμένες υπηρεσίες παρόμοια με το αρχείο hosts στους υπολογιστές των Windows που αντιστοιχούν σε ένα όνομα κεντρικού υπολογιστή σε μια διεύθυνση IP . Ωστόσο, το αρχείο υπηρεσιών του λειτουργικού συστήματος UNIX δεν περιλαμβάνει διευθύνσεις IP, αλλά πληροφορίες σχετικά με το εάν η υπηρεσία είναι TCP ή UDP και ποια κοινά ονόματα μπορεί να ακολουθήσει.

Ένας απλός επεξεργαστής κειμένου μπορεί να χρησιμοποιηθεί για την επεξεργασία του αρχείου / etc / services, όπως Vim ή Kate.

Παράδειγμα αρχείου υπηρεσιών UNIX

Στο UNIX, ο βασικός ρόλος του αρχείου διαμόρφωσης / etc / services είναι ότι τα προγράμματα μπορούν να κάνουν κλήση sockets getportbyname () στον κώδικα τους για να καταλάβουν ποια θύρα θα χρησιμοποιούν. Για παράδειγμα, ένας δαίμονας ηλεκτρονικού ταχυδρομείου POP3 θα έκανε ένα getportbyname (POP3) για να ανακτήσει τον αριθμό 110 στον οποίο τρέχει το POP3.

Η ιδέα είναι ότι αν όλοι οι δαίμονες POP3 χρησιμοποιούν το getportbyname (), τότε ανεξάρτητα από το ποια daemon POP3 τρέχετε, μπορείτε πάντα να επαναρυθμίσετε τον αριθμό θύρας του, επεξεργάζοντάς τα / etc / services.

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

Όλα τα αρχεία υπηρεσιών ακολουθούν την ίδια σύνταξη :

όνομα λιμάνι / παραπομπές ψευδώνυμα πρωτοκόλλου

Ωστόσο, ένα ψευδώνυμο και σχόλιο για κάθε καταχώρηση βάσης δεδομένων δεν είναι απαραίτητο, όπως μπορείτε να δείτε σε αυτό το παράδειγμα του αρχείου υπηρεσιών:

$ cat / etc / services # # Πνευματικά δικαιώματα 2008 Sun Microsystems, Inc. Με επιφύλαξη παντός δικαιώματος. # Η χρήση τους είναι σύμφωνα με τους όρους της άδειας. # # υπηρεσίες "# (#) υπηρεσίες 1.34 08/11/19 SMI # # # Υπηρεσίες δικτύου, στυλ διαδικτύου # tcpmux 1 / tcp echo 7 / tcp echo 7 / udp απορρίπτει 9 / tcp νεροχύτης 11 / tcp χρήστες ημερησίως 13 / tcp daytime 13 / udp netstat 15 / tcp chargen 19 / tcp ttytst πηγή chargen 19 / udp ttytst πηγή ftp-data 20 / tcp ftp 21 / tcp ssh 22 / tcp # 25 / tcp χρόνος αλληλογραφίας 37 / tcp χρόνος διακομιστή 37 / udp όνομα διακομιστή 42 / udp nameserver whois 43 / tcp nicname # συνήθως σε sri-nic swat 901 / tcp # Samba Web Adm.Tool εξυπηρετητής 6481 / udp servicetag 6481 / tcp snmpd 161 / udp snmp # SMA snmp daemon $