Όλα τα σύγχρονα λειτουργικά συστήματα πολλαπλών λειτουργιών, συμπεριλαμβανομένου του Linux, εκτελούν μια σειρά διαδικασιών για κάθε μία από τις εργασίες που εκτελούνται. Μια εφαρμογή σημειώματος είναι μια διαδικασία, ένα παράθυρο τερματικού είναι μια διαδικασία, ο διακομιστής SSH είναι μια διαδικασία, κάθε SSH σύνδεση είναι μια διαδικασία και ούτω καθεξής. Το Linux προγραμματίζει τους διάφορους πόρους του συστήματος (χρόνος CPU, μνήμη, I / O) έτσι ώστε κάθε διαδικασία να έχει την ευκαιρία να τρέξει.

Για να δείτε τη λίστα των τρέχουσων διαδικασιών που εκτελούνται, μπορείτε να χρησιμοποιήσετε την εντολή ps . Δοκιμάστε αυτό σε ένα τερματικό:

 ps aux 

Οι παράμετροι aux λένε ps να απαριθμήσει όλες τις διαδικασίες του συστήματος με επιπλέον πληροφορίες σχετικά με το ποιος κατέχει τις διαδικασίες και ποιες παράμετροι κλήσης χρησιμοποιήθηκαν.

Όπως μπορείτε να δείτε, στη λίστα εμφανίζονται διαδικασίες που ανήκουν σε διαφορετικούς χρήστες, όπως "pi" (ο προεπιλεγμένος χρήστης του Raspbian σε Raspberry Pi), "root" και "www-data". Εδώ είναι ένα ελαφρώς τροποποιημένο screenshot που δείχνει τις διαδικασίες μαζί με πληρέστερες λεπτομέρειες σχετικά με τις εντολές και τις παραμέτρους τους.

Εάν κοιτάξετε προς τα κάτω τη λίστα, θα δείτε την εντολή nano MYBANKACCOUNTNUMBER.TXT που ανήκει στον χρήστη "john." Φανταστείτε αν το όνομα του αρχείου ήταν λίγο πιο αποκαλυπτικό από το παράδειγμα. αυτά τα δεδομένα είναι εκτεθειμένα σε όλους τους χρήστες του συστήματος και θα μπορούσαν να χρησιμοποιηθούν για κακόβουλους σκοπούς.

Από τον πυρήνα του Linux 3.2 υπάρχει ένας τρόπος να σταματήσουν οι χρήστες να έχουν πρόσβαση σε πληροφορίες σχετικά με διαδικασίες που δεν κατέχουν. Η εντολή ps λαμβάνει τις πληροφορίες διεργασίας από το σύστημα αρχείων / proc (όπου το "proc" είναι σύντομο για τη διαδικασία). Υπάρχει μια νέα παράμετρος που ονομάζεται "hidepid" και χρησιμοποιείται όταν το σύστημα αρχείων / proc είναι τοποθετημένο. Μπορεί να κρύψει τις διαδικασίες και τους ελέγχους που έχουν πρόσβαση στις πληροφορίες στο / proc.

  • hidepid = 0 - Η προεπιλεγμένη συμπεριφορά όπου οποιοσδήποτε χρήστης μπορεί να διαβάσει τα αρχεία στο / proc / PID /
  • hidepid = 1 - Σημαίνει ότι οι χρήστες ενδέχεται να μην έχουν πρόσβαση σε οποιονδήποτε / proc / PID / υπο-κατάλογο εκτός από τους δικούς τους. Επίσης αρχεία όπως cmdline, io, sched *, status, wchan δεν είναι προσβάσιμα σε άλλους χρήστες.
  • hidepid = 2 - Όλα από hidepid = 1, συν όλους τους / proc / PID / δευτερεύοντες καταλόγους θα κρύβονται σε άλλους χρήστες.

Το σύστημα αρχείων / proc μπορεί να επανατοποθετηθεί σε λειτουργία χρησιμοποιώντας την επιλογή επανασύνδεσης της εντολής mount . Για να δοκιμάσετε το hidepid, μπορείτε να επανατοποθετήσετε το σύστημα αρχείων / proc έτσι:

 sudo mount -o remount, rw, hidepid = 2 / proc 

Τώρα μπορείτε να δοκιμάσετε ξανά την εντολή ps :

 ps aux 

Τώρα η έξοδος εμφανίζει μόνο τις διαδικασίες που ανήκουν στον χρήστη "pi".

Για να γίνει αυτή η αλλαγή μόνιμη, θα πρέπει να επεξεργαστείτε το αρχείο "/ etc / fstab" του Pi. Το αρχείο "fstab" ελέγχει ποια συστήματα αρχείων τοποθετούνται κατά την εκκίνηση.

 sudo nano / etc / fstab 

Και βρείτε τη γραμμή που διαβάζει:

 Proc / proc proc προεπιλογή 0 0 

Και να το αλλάξετε σε:

 proc / proc proc προεπιλογή, hidepid = 2 0 0 

Έξοδος από τον επεξεργαστή χρησιμοποιώντας το "Ctrl + X." Τώρα επανεκκινήστε το Raspberry Pi. Όταν γίνεται επανεκκίνηση, βεβαιωθείτε ότι το σύστημα αρχείων / proc έχει τοποθετηθεί με τις σωστές επιλογές. Πρώτη χρήση mount και grep για να δείτε τις τρέχουσες επιλογές:

 mount | grep hidepid 

Τώρα δοκιμάστε την εντολή ps, ακριβώς όπως κάναμε παραπάνω:

 ps aux 

Παρατηρήστε τώρα ότι μόνο οι διαδικασίες που ανήκουν στο "pi" είναι ορατές, αλλά σε αντίθεση με την προηγούμενη όταν επανατοποθετήσαμε το σύστημα αρχείων / proc, αυτή είναι τώρα η μόνιμη ρύθμιση. Ωστόσο, μια λέξη προειδοποίησης, ακόμη και όταν χρησιμοποιείται hidepid, "ρίζα" μπορεί ακόμα να δει όλες τις διαδικασίες και τις παραμέτρους κλήσης.

Η τεχνική που χρησιμοποιείται παραπάνω θα λειτουργήσει σε άλλες μηχανές και διανομές Linux, όχι μόνο το Raspberry Pi με το Raspbian. Αν έχετε ερωτήσεις σχετικά με τη χρήση της επιλογής "hidepid" στο σύστημα αρχείων / proc, παρακαλούμε να χρησιμοποιήσετε την παρακάτω ενότητα σχολίων και θα δούμε αν μπορούμε να βοηθήσουμε.