Πάμε σε μια σοβαρή κριτική της παρουσίασης τώρα που την είδα. Το να λες μισές πληροφορίες είναι σαν να λες ψέματα. Κάτι που ισχύει για όλα τα προβλήματα που παρουσιάζει από το πρώτο slide. Ας ξεκινήσουμε από τον τίτλο. Δεν αφορά τον φάκελο του χρήστη, αυτό είναι εύκολο, αφορά την διαχείριση της ταυτότητας του.
Ας ξεκινήσω ενδεικτικά από το Bullet 1: Για να προσθέσεις ένα χρήστη πρέπει ο κατάλογος /etc να είναι εγγράψιμος. Αυτό είναι ένα χοντρό ψέμα. Αρκεί να πειράξεις το αρχείο /etc/nsswitch.conf
και οι πληροφορίες μπορούν να είναι όπου θέλεις. Σε κάποιο directory server σε κάποια κλασσική βάση δεδομένων, κυριολεκτικά οπουδήποτε. Ψέμα 2: Οι πληροφορίες για ένα χρήστη είναι περιορισμένες. Αν έχεις μια τέτοια ανάγκη πχ να προσθέσεις το τηλέφωνο κάποιου χρήστη, θα χρησιμοποιήσεις κάποιο directory service όπως αυτό της Redhat ή κάποιο LDAP. Και μπορείς να προσθέσεις οτι πληροφορία θέλεις. Καλά στην Redhat δουλεύει, δεν το ξέρει αυτό; Ψέμα 3 για να συνδεθείς χρησιμοποιείς μόνο το password που είναι μηχανισμός από την δεκαετία του 70 και όχι κάτι σαν ένα yubikey. Καλέ κάτι που το λένε pam και υπάρχει σε κάθε διανομή δεν το ξέρεις; Είχα γράψει παλιά ένα χαμένο τώρα οδηγό που χρησιμοποιούσες ένα απλό στικακι USB (αρκεί να είχε model ή serial number που να το ξεχωρίζει απο άλλα) και ήσουν συνδεμένος μόνο όταν αυτό το στικάκι ήταν συνδεμένο. Το έβγαζες και έκανε logout. Είναι δυνατόν να μην το ξέρει;
Υπάρχουν δυο θετικά πράγματα που υπάρχουν στην ομιλία. Το πρώτο είναι το πρόβλημα του susspend σε κρυπτογραφημένο δίσκο. Εκεί η υπάρχουσα υλοποίηση έχει τα θεματάκια της, ο ομιλητής παραδέχετε πως δεν τα έχει λύσει όλα, αλλά η κρυπτογράφηση του κατάλογου χρήστη είναι η κρυπτογράφηση του κατάλογου του χρήστη. Δεν είναι το ποιος είναι. Δεν είναι τι μπορεί να κάνει, δεν είναι που ειναι αποθηκευμένη. Είναι ένα ανεξάρτητο πρόβλημα που μπορεί να λυθεί ανεξάρτητα.
Το δεύτερο είναι η υπόσχεση πως δεν θα έχεις κάποια εταιρεία ή πανεπιστήμιο να κάνει διαχείριση του ποιος είσαι. Μα μια εταιρεία θέλει να ξέρει ποιος μπορεί και ποιος δεν μπορεί να χρησιμοποιεί κάποια θέση εργασίας της. Δεν μπορώ να δώ το όφελος.
Αλλά ναι υπάρχει ένα. Το home on a stick. Βάζω ένα στικάκι σε οποιοδήποτε υπολογιστή και είναι σαν να δουλεύω στον δικό μου. Ωραία ιδέα, αλλά όχι στον δικό μου υπολογιστή φιλαράκο. Στον δικό αν θέλεις να μπεις, θα μπεις σαν χρήστης guest. Μετά κάνε ότι θες, βάλε το στικάκι σου άλλαξε την μεταβλητή $HOME και παίξε.
Αλλά λες πως θα προστεθείς στο σύστημα με κάποιο random ID. Σοβαρά; Και αν κάποιος πριν είχε συνδεθεί και είχε πάρει τον ίδιο; Είναι σοβαρά πράγματα αυτά;
Και μετά υπάρχει αυτό το αρχείο που περιγράφει τον χρήστη. Και περιέχει όλες τις πληροφορίες. Ακόμα και τα group που ανήκει. Και μπορεί να του δώσει και δυνατότητες για sudo. Στο μηχάνημα μου ρε μεγάλε; Το κουβαδάκι σου και σε άλλη παραλία
Αλλά όχι, για να το δεχτεί το σύστημα θα πρέπει να έχει υπογραφτεί με κάποιο έγκυρο κλειδί. ΟΚ εντάξει τότε το σώσαμε. Αλλά μια στιγμή. Πως ξέρει το σύστημα ότι αυτή η υπογραφή είναι έγκυρη; Κάποιος θα πρέπει να το υπογράψει, άρα να ή κεντρική αρχή πιστοποίησης που θεωρητικά διώξαμε, τελικά κοίτα να δεις που χρειάζετε Και ο υπολογιστής μου πρέπει να ξέρει για αυτήν. Όπα κοίτα να δεις που πρέπει να γράψεις κάποια πληροφορία στο /etc/ που; Μα εκεί που δεν γράφουμε
Άρα ο υπολογιστής μου θα δεχτεί το στικάκι σου αν είμαστε στην ίδια εταιρεία και μόνο. Και δεν θα δουλέψει στον οποιοδήποτε υπολογιστή. Τελικά καλύτερος ο λογαριασμός guest
Και τα πράγματα είναι πολύ χειρότερα. Θέλω να αλλάξω τον κωδικό μου, η την φωτογραφία μου ή κάποιο στοιχείο. Δεν μπορώ, γιατί θα αλλάξει το αρχείο και θα αχρηστευτεί η ηλεκτρονική του υπογραφή. Θα πρέπει να πάω στην κεντρική διαχείριση να μου το εγκρίνει Αυτό το λέμε κατανεμημένο μη ιεραρχικό σύστημα λολ
Αυτά στα γρήγορα και αν κάπου κατάλαβα λάθος, θα επανεξετάσω. Αλλά μέχρι τότε: Άσε κάτω τον φάκελο /home μου βρε αλήτη Και φέρε πίσω τον χρόνο που σπατάλησα να δω το βίντεο
Τέλος το πρόβλημα του home-on-the-stick μπορεί να λυθεί πολύ πολύ ποιο απλά. Μπορείς να φτιάξεις ένα xsession που να τρέχει από κάποιο διαχειριστή παραθύρων, να αποκρυπτογραφεί τον φάκελο από κάποιο στικάκι, να τα κάνει τα αρχεία εγγράψιμα από τον χρήστη guest του συστήματος, και στην αποσύνδεση να επαναφέρει το σωστό uid. Δεν είναι ανάγκη για κάτι τόσο φανταχτερό, λίγες γραμμές ακόμα και σε bash αρκούν πιστεύω. Και δεν θα έχω και κανένα πρόβλημα να το χρησιμοποιήσεις με τον υπολογιστή μου