Προσπαθήσατε ποτέ να κλείσετε το κέλυφός σας ή να αποσυνδέσετε μια μονάδα δίσκου μόνο για να εμφανιστεί ένα σφάλμα ότι ένα ή περισσότερα αρχεία χρησιμοποιούνται; Ή ίσως έχετε προσπαθήσει να επεξεργαστείτε ένα αρχείο μόνο για να διαπιστώσετε ότι είναι κλειδωμένο από άλλο πρόγραμμα;
Ίσως ανησυχείτε ότι κάποιος απέκτησε με κάποιο τρόπο μη εξουσιοδοτημένη πρόσβαση στο σύστημά σας Linux. Χρησιμοποιώντας ένα εργαλείο που ονομάζεται lsof, μπορείτε να δείτε ποια αρχεία είναι ανοιχτά, ακόμη και μέσω συνδέσεων δικτύου.
Τι είναι το lsof;
Το lsof είναι ένα βοηθητικό πρόγραμμα που παραθέτει ανοιχτά αρχεία. Ο Victor Abell το ανέπτυξε αρχικά στο Πανεπιστήμιο Purdue. Είναι διαθέσιμο για πολλές υλοποιήσεις Unix, συμπεριλαμβανομένου του Linux. Αυτή τη στιγμή συντηρείται από το ομάδα lsof-org στο GitHub.
Εγκατάσταση του lsof σε Linux
Υπάρχει μεγάλη πιθανότητα να έχετε ήδη εγκατεστημένο το lsof στο σύστημά σας. Δοκιμάστε να πληκτρολογήσετε lsof στη γραμμή εντολών. Εάν δεν είναι, μπορείτε να το εγκαταστήσετε μέσω του διαχειριστή πακέτων της διανομής σας.
Σε ένα σύστημα Ubuntu ή Debian, πληκτρολογήστε:
sudo apt εγκαθιστώ lsof
Επί Διανομές Linux που βασίζονται σε Arch:
sudo pacman -S lsof
Και σε RHEL, Rocky Linux και Oracle Linux:
sudo dnf εγκαθιστώ lsof
Προβολή ανοιχτών αρχείων σε Linux με lsof
Η χρήση του lsof είναι απλή. Μπορείτε απλώς να το καλέσετε στη γραμμή εντολών για να δείτε τυχόν ανοιχτά αρχεία που σας ανήκουν:
lsof
Το lsof μπορεί να αναφέρει τις διεργασίες που ανήκουν στο root ως "Δεν επιτρέπεται η άδεια". Για να δείτε όλα τα αρχεία ανοιχτά από όλες τις διεργασίες σε όλο το σύστημα, εκτελέστε το ως root:
sudo lsof
Το lsof θα εμφανίσει την εντολή, το PID, τον χρήστη που το επικάλεσε, τον περιγραφέα αρχείου, τον τύπο, τη συσκευή, το μέγεθος, τον κόμβο και το απόλυτο όνομα διαδρομής του ανοιχτού αρχείου.
Εάν προσπαθήσετε να αποσυνδέσετε μια μονάδα δίσκου, όπως μια μονάδα οπτικού δίσκου και λάβετε ένα σφάλμα ότι τα αρχεία χρησιμοποιούνται, μπορείτε να δείτε ποια διαδικασία χρησιμοποιεί το αρχείο και, στη συνέχεια, να το τερματίσετε ή να το σκοτώσετε.
Για να δείτε τυχόν υποδοχές Διαδικτύου που χρησιμοποιούνται αυτήν τη στιγμή στο σύστημά σας, χρησιμοποιήστε το -Εγώ επιλογή:
sudo lsof -i
Θα μπορούσατε να εντοπίσετε πιθανή εισβολή εάν παρατηρήσετε κάτι ύποπτο στο σύστημά σας, αλλά πιο εξελιγμένοι εισβολείς μπορεί να είναι σε θέση να καλύψουν καλύτερα τα ίχνη τους.
ο -r Η επιλογή θέτει το lsof σε λειτουργία επανάληψης, όπου θα εμφανίζει αποτελέσματα μετά από ένα συγκεκριμένο διάστημα μέχρι να πατήσετε Ctrl + C. Από προεπιλογή, εκτελείται κάθε 15 δευτερόλεπτα, αλλά μπορείτε να το αλλάξετε. Για παράδειγμα, μπορείτε να εκτελείτε την εντολή κάθε 10 δευτερόλεπτα πληκτρολογώντας:
lsof -r 10
Όπως και με άλλα βοηθητικά προγράμματα Linux, μπορείτε να συνδυάσετε αυτούς τους διακόπτες. Ας υποθέσουμε ότι θέλετε να παρακολουθείτε τη σύνδεσή σας στο Διαδίκτυο κάθε πέντε δευτερόλεπτα. Μπορείτε να το κάνετε αυτό με το lsof πληκτρολογώντας:
lsof -i -r 5
Τώρα μπορείτε να παρακολουθείτε ποιες διεργασίες Linux έχουν ανοιχτά αρχεία
Με το lsof, μπορείτε να εντοπίσετε ποιες διεργασίες έχουν ανοιχτά αρχεία και να διορθώσετε τυχόν προβλήματα που μπορεί να προκαλέσουν.
Τα ανοιχτά αρχεία είναι μόνο μια πτυχή των διαδικασιών Linux. Υπάρχουν τόσοι πολλοί τρόποι διαχείρισης διαδικασιών στο Linux. Είναι εύκολο να ξεκινήσετε, να σταματήσετε και να εξετάσετε διαδικασίες στο Linux, ώστε να αξιοποιήσετε στο έπακρο το σύστημά σας.