Τα σημεία προσάρτησης SSHFS ανήκουν στον χρήστη, όχι στο άγκιστρο VPN
Το δικαίωμα να ανυψώσετε μια διεπαφή δεν είναι δικαίωμα να προσαρτήσετε έναν κοινόχρηστο πόρο. Αποδείξτε χειροκίνητα την προσάρτηση της συνεδρίας χρήστη και μετά αφήστε τον εκκινητή να ζητήσει το ίδιο πλαίσιο.
Η υπόθεση απορροφάται εύκολα και δύσκολα παρατηρείται: ένα άγκιστρο σύνδεσης VPN τρέχει ως root, άρα και η προσάρτηση που ξεκινά θα πρέπει να οργανωθεί ως root. Αυτή η συλλογιστική παράγει έναν κατάλογο ομάδας που ο χρήστης της επιφάνειας εργασίας δεν μπορεί να ανοίξει, μια προσάρτηση που εξαφανίζεται όταν επανεκκινήσει η υπηρεσία ενεργοποίησης, και μια προτροπή ταυτοποίησης σε ένα πλαίσιο όπου κανείς δεν μπορεί να απαντήσει. Το άγκιστρο και η προσάρτηση είναι δύο διαφορετικές εργασίες, και μόνο μία από αυτές χρειάζεται προνόμια.
Ο μύθος: τα προνόμια δικτύου συνεπάγονται προνόμια προσάρτησης
Η ανύψωση μιας διεπαφής και η ταυτοποίηση σε έναν διακομιστή αρχείων είναι άσχετες δυνατότητες, και συνήθως ανήκουν σε διαφορετικούς λογαριασμούς. Το στοιχείο VPN χρειάζεται αρκετά προνόμια για να αλλάξει διαδρομές και διεπαφές. Ο λογαριασμός του διακομιστή αρχείων χρειάζεται ένα κλειδί ή έναν κωδικό, μια απόφαση για το κλειδί του κεντρικού υπολογιστή και έναν αρχικό κατάλογο για προσάρτηση. Το να δοθούν τα διαπιστευτήρια της δεύτερης εργασίας στην πρώτη ταυτότητα είναι ο τρόπος με τον οποίο μια υπηρεσία δικτύου καταλήγει να κρατά το κλειδί ενός χρήστη.
Σε φορητό υπολογιστή ενός χρήστη μπορεί να είναι ο ίδιος λογαριασμός, και αυτή η σύμπτωση δεν είναι σχεδιασμός.
Μόλις ένα προνομιούχο άγκιστρο κάνει την προσάρτηση, τρία πράγματα πάνε στραβά ήσυχα. Η προσάρτηση ανήκει στο root, ο πράκτορας του χρήστη απουσιάζει από αυτό το περιβάλλον, και οι αποτυχίες εμφανίζονται στο αρχείο καταγραφής της υπηρεσίας δικτύου αντί στη συνεδρία που ενδιαφέρεται. Κανένα από αυτά δεν διορθώνεται προσθέτοντας επιλογές στην εντολή προσάρτησης. Διορθώνονται δίνοντας την εργασία στη συνεδρία που κατέχει την ταυτότητα.
Γιατί η προσάρτηση ανήκει στον συνδεδεμένο χρήστη
Μια προσάρτηση SSHFS είναι μια προσάρτηση FUSE που ανήκει στη διεργασία που τη δημιούργησε, και η πρόσβαση ακολουθεί αυτή την κυριότητα και όχι τον τρόπο του γονικού καταλόγου. Η αναφορά συνιστά έναν κανονικό χρήστη με σημείο προσάρτησης που του ανήκει, και γι' αυτό ακριβώς μια προσάρτηση που δημιουργήθηκε από διεργασία root είναι άβολη για όλους τους άλλους. Μια αλλαγή δικαιωμάτων στο σημείο προσάρτησης δεν τη διορθώνει, γιατί το εμπόδιο είναι ο ίδιος ο ιδιοκτήτης της προσάρτησης.
Ξεκινήστε από μια χειροκίνητη βάση μέσα στη συνεδρία του χρήστη: ένα υπάρχον κενό σημείο προσάρτησης κάτω από τον αρχικό κατάλογο, έναν εξουσιοδοτημένο λογαριασμό στον διακομιστή, και ένα κλειδί κεντρικού υπολογιστή που έχει ήδη επαληθευτεί μέσω της εγκεκριμένης διαδικασίας σας. Προσαρτήστε το μία φορά με το χέρι και χρησιμοποιήστε το, γιατί αυτό αποδεικνύει ότι η διαδρομή ταυτότητας λειτουργεί πριν υπάρξει οποιαδήποτε αυτοματοποίηση. Σημειώστε τι χρειάστηκε η εντολή: το όνομα λογαριασμού, τη διαδρομή εξαγωγής και το ιδιωτικό όνομα κεντρικού υπολογιστή. Κρατήστε αυτό το ακριβές πλαίσιο για την αυτοματοποιημένη έκδοση, αφού μια λειτουργική χειροκίνητη προσάρτηση είναι η προδιαγραφή που πρέπει να αναπαράγει ο εκκινητής.
sshfs [email protected]:/exports/team "$HOME/mnt/team"Θεωρήστε κάθε όνομα και διαδρομή σε αυτή τη γραμμή ως σύμβολο κράτησης θέσης, μαζί με τον λογαριασμό και την εξαγωγή. Ένας κωδικός λογαριασμού VPN δεν είναι αυτόματα το διαπιστευτήριο του λογαριασμού αποθήκευσης.
Τι πρέπει να ζητήσει ο εκκινητής από τη συνεδρία
Η υποστηριζόμενη διάταξη είναι ένα αίτημα από το συμβάν δικτύου προς τη συνεδρία του χρήστη, όχι δανεισμένο διαπιστευτήριο. Περιορίστε τον εκκινητή στη σύνδεση που εννοείτε, με όνομα ή UUID, και όχι σε οποιαδήποτε διεπαφή που τυχαίνει να ονομάζεται tun0. Αυτή η μία αλλαγή εμποδίζει ένα δεύτερο προφίλ, ένα δοκιμαστικό τούνελ ή τη συνεδρία αποσφαλμάτωσης ενός συναδέλφου να ξεκινήσει μια προσάρτηση.
Η ενέργεια στην πλευρά της συνεδρίας θα πρέπει να αναζητήσει την επιδιωκόμενη υπάρχουσα προσάρτηση και μετά να κάνει μία περιορισμένη απόπειρα.
Μην επαναλαμβάνετε σε κάθε έλεγχο και μην συνεχίζετε να ζητάτε διαπιστευτήριο όσο ο διακομιστής είναι απρόσιτος, γιατί και τα δύο μετατρέπουν μια παροδική διακοπή σε κλείδωμα λογαριασμού. Μια υπηρεσία χωρίς επίβλεψη είναι ξεχωριστός σχεδιασμός με δικά της εγκεκριμένα διαπιστευτήρια και δική της ρύθμιση επαλήθευσης κεντρικού υπολογιστή στο δικό της πλαίσιο εκτέλεσης, και δεν μπορεί να βασίζεται στο ότι κάποιος ξεκλείδωσε έναν γραφικό πράκτορα. Αποφασίστε ποιο από τα δύο χτίζετε πριν επιλέξετε πού ζει ο κώδικας. Η περισσότερη σύγχυση εδώ προέρχεται από το ότι χτίζεται το ένα και αναμένεται το άλλο.
Η αποσύνδεση είναι συμβάν του συστήματος αρχείων, όχι συμβάν του αγκίστρου
Μια προγραμματισμένη αποσύνδεση θα πρέπει να ολοκληρώσει τις λειτουργίες αρχείων και να αποπροσαρτήσει από τη συνεδρία του χρήστη που προσάρτησε με την υποστηριζόμενη εντολή για αυτόν τον τύπο συστήματος αρχείων. Το να εξαναγκάσετε μια αποκόλληση ώστε να επιστρέψει γρήγορα ένα άγκιστρο είναι ο τρόπος με τον οποίο οι εφαρμογές χάνουν τον κατάλογο εργασίας τους και οι χρήστες την εμπιστοσύνη τους στην αυτοματοποίηση. Μια απασχολημένη προσάρτηση χρειάζεται απόφαση σε επίπεδο εφαρμογής, όπως το κλείσιμο του αρχείου ή τη διακοπή της εγγραφής, όχι ένα ισχυρότερο σήμα. Η κατάσταση εξόδου του αγκίστρου δεν είναι αυτό που βελτιστοποιείται.
fusermount3 -u "$HOME/mnt/team"Η απροσδόκητη απώλεια είναι διαφορετική περίπτωση, και το SSHFS τεκμηριώνει ότι μια διακοπείσα λειτουργία μπορεί να μπλοκάρει όσο το μεταφορικό μέσο επανασυνδέεται.
Η επιλογή επανασύνδεσης αποκαθιστά το μεταφορικό μέσο, και αρχεία που άνοιξαν πριν από αυτή την επανασύνδεση μπορούν ακόμη να επιστρέφουν σφάλματα και να χρειάζονται ξανά άνοιγμα. Ένα VPN που επιστρέφει δεν αποδεικνύει τίποτα για παλαιότερους δείκτες ή μη αποθηκευμένη εργασία. Επιλέξτε τη συμπεριφορά που θέλετε σε μια διακοπή — παύση, εμφάνιση σφάλματος ή σκόπιμη επαναπροσάρτηση — και δοκιμάστε την με αναλώσιμα αρχεία πριν εξαρτηθεί κάτι από αυτήν.