Προς το περιεχόμενο

- LDAP - . Μια συζήτηση για την κατανόησή του


InDiO

Προτεινόμενες αναρτήσεις

Ηι παίδες. "Επεσα" πάνω σε αυτό τον όρο λόγω μιας υποχρέωσης σε κάποιο project. Έχω αρχίσει να διαβάζω αρκετά tutorials, κυριως από Linuxdoc. Παρόλα αυτά,επειδή ειμαι εντελώς άσχετος με το συγκεκριμένο, μου δίνεται η εντύπωση ότι χάνω "το ζούμι" της υπόθεσης...

 

Καταλαβαίνω ότι ειναι μία νέα μέθοδος κεντρικής διαχείρισης χρηστών ενός δικτύου. Παρόλαυτα, θα ήθελα μια γνώμη-περίγραφή, από κάποιον του το χρήσιμοποιεί. Θα ήθελα να ακούσω κάποια real life παραδείγματα χρήσης του. Για ποιούς λόγους δηλαδή γινεται αναγκαίο σε μεγάλα δίκτυα...

 

Εντωμεταξύ, συνεχίζω το διαβασμα <img border="0" title="" alt="[smile]" src="images/icons/smile.gif" />

Ευχαριστώ!

 

<small>[ 19-08-2002, 17:29: Το μήνυμα επεξεργάστηκε από: InDiO ]</small>

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">

Καταλαβαίνω ότι ειναι μία νέα μέθοδος κεντρικής διαχείρισης χρηστών ενός δικτύου

</font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Θα μπορούσες να το πεις και έτσι αλλά θα έλεγα καλύτερα ότι είναι ένα προτόκολλο που προσδιορίζει πως οι χρήστες θα έχουνε πρόσβαση στα δεδομένα σε ένα διακομιστή.

 

Αυτό που βασικά κάνει το LDAP (Lightweight Directory Access Protocol για όσους αναρωτιούνται από που βγαίνει) είναι να παρουσιάζει τα δεδομένα σε μία ιεραρχία, ένα «δένδρο» (παρόμοιο με το δένδρο των υποκαταλόγων ενός σκληρού δίσκου για παράδειγμα). Αυτό το δένδρο ονομάζεται Directory Information Tree και το κάθε φύλλο του δένδρου είναι και μία εγγραφή (entry). Η πρώτη εγγραφή είναι η ρίζα του δένδρου. Κάθε εγγραφή πρέπει να είναι μοναδική και αποτελείται από ένα ζευγάρι τιμών και χαρακτηριστικών που εκθέτουνε αυτές οι τιμές.

 

Οι τιμές και τα χαρακτηριστικά της κάθε εγγραφής είναι αυτά που δείχνουνε τη σχέση της εγγραφής με το υπόλοιπο σύστημα (δηλαδή με τις υπόλοιπες εγγραφές). Το πως αυτές οι εγγραφές συσχετίζονται μεταξύ τους καθορίζεται στο σχήμα (schema) του κάθε διακομιστή LDAP.

 

Ό,τι πληροφορίες αποθηκεύεις σε ένα LDAP διακομιστή μπορούνε να μοιραστούνε από mail servers, web servers, application servers κλπ. εφόσον βέβαια έχουνε πρόσβαση στον LDAP διακομιστή. Οπότε με λίγα λόγια (γιατί πιστεύω ότι μπήκα σε πολύ τεχνικά νερά) αυτό που κάνει ένας LDAP διακομιστής είναι να σου παρέχει πρόσβαση σε δεδομένα και να καθορίζει το πως γίνεται αυτή η πρόσβαση (μπορείς να φανταστείς ένα LDAP σύστημα και σαν ένα βιβλιαράκι που κρατάς πληροφορίες για τους φίλους σου τηλέφωνο, διεύθυνση κλπ όχι ακριβώς το ίδιο αλλά ελπίζω να πήρες την ιδέα). Για παράδειγμα μπορείς να αποθηκεύσεις πληροφορίες για τους χρήστες ενός δικτύου (όνομα, κωδικό, οργανισμός κλπ) και να έχεις πρόσβαση σε αυτά τα δεδομένα μέσω LDAP. Μπορείς να αναζητήσεις, να διαγράψεις, να αλλάξεις, να συγκρίνεις τα δεδομένα κλπ.

 

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">

Για ποιούς λόγους δηλαδή γινεται αναγκαίο σε μεγάλα δίκτυα...

</font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Γιατί κάνει τη ζωή του προγραμματιστή (και όχι μόνο) ευκολότερη. Με πολύ απλά λόγια ένας LDAP διακομιστής μας παρέχει μία διεπαφή (interface) για την εύκολη πρόσβαση σε δεδομένα, όπου άλλοι διακομιστές και πελάτες μπορούνε να τα χειριστούνε. Επιπλέον παρέχει ασφάλεια, συμβατότητα ονομάτων, εύκολη συντήρηση δεδομένων και επίσης είναι προϊόν ελεύθερου κώδικα (open source- νομίζω, δεν είμαι 100% σίγουρος).

 

Ένα παράδειγμα χρήσης του LDAP (με αναφορά στη Java) είναι ότι μπορείς να το χρησιμοποιήσεις για να προσθέσης μία εγγραφή για ένα τραπεζικό λογαριασμό. Χρησιμοποιώντας JNDI μπορείς να συνδεθείς στο διακομιστή, να γίνει η πιστοποίηση και να γράψεις τις πληροφορίες που θέλεις. Με τον ίδιο τρόπο μπορείς να προσδιορίσεις την τραπεζική εγγραφή και να την αλλάξεις ή να τη διαγράψεις.

 

Δεν ξέρω αν όλα αυτά έχουνε λογικό ειρμό για εσένα, ελπίζω πάντως να «έπιασες» την όλη έννοια του LDAP. Αν όχι ξαναρώτησε κάτι πιο συγκεκριμένο αν και μάλλον θα αργήσω να σου απαντήσω γιατί φεύγω για διακοπές.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Λοιπόν. Συνεχίζω να μην καταλαβαίνω κάτι. Θέλουμε ας πούμε να ελέγξουμε την πρόσβαση χρηστών σε ένα συστημα UNIX στο οποίο και διατηρούν λογαριασμούς-shell accounts.

 

Για να συνδεθεί ο χρήστης, έστω ότι χρησιμοποιείται ένας LDAP server. Πως γίνεται η ιστορία; Τα δεδομένα που κραταει η βάση είναι όνομα - τηλ- password κτλ. (?) Ο χρήστης για να συνδεθεί στον λογαριασμό του (πχ με ssh?) πρέπει να έχει και κα΄ποιο client προγραμμα που θα τον συνδέσει στον LDAP; Δηλαδή στην προκειμένη περίπτωση, το μόνο που κερδίζουμε είναι πρακτικά μόνο το authentication; Μπορεί και να το έχω καταλάβει εντελώς λάθος...

 

<small>[ 20-08-2002, 16:26: Το μήνυμα επεξεργάστηκε από: InDiO ]</small>

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Όταν λες ένα client πρόγραμμα τι ακριβώς εννοείς; Ουσιαστικά ο,τιδήποτε συνδέεται σε ένα LDAP διακομιστή είναι πελάτης, είτε αυτό είναι ένας Web διακομιστής, είτε ένα EJB, είτε κάτι άλλο. Αν εννοείς πελάτη τύπου putty για παράδειγμα όπου έχεις ένα γραφικό περιβάλλον και σου επιτρέπει να δώσεις κάποιες τιμές και να συνδεθείς κάπου τότε να σου πω ότι υπάρχει ο Netscape Directory Server που είναι ένα γραφικό περιβάλλον διαχείρησης ενός LDAP διακομιστή.

 

Το μόνο που χρειάζεσαι για να συνδεθείς σε ένα LDAP διακομιστή είναι το πρωτόκολλο (ldap), η IP διεύθυνση και η θύρα στην οποία ακούει ο LDAP διακομιστής (π.χ. αν τρέχει στον τοπικό υπολογιστή localhost- θα μοιάζει κάτι σαν: ldap://127.0.0.1:3452) και η πιστοποίση (αν και η τελευταία έκδοση LDAP επιτρέπει και ανώνυμη πρόσβαση).

 

Τώρα για την πιστοποίηση υπάρχουνε διάφοροι τρόποι. Είτε με το γνωτό όνομα χρήστη και κωδικό πρόσβασης (username/password), είτε με SSL είτε με SASL (χρησιμοποιεί MD5/Κέρβερος μηχανισμό). Διαλέγεις και παίρνεις.

 

Για το πώς θα γίνουνε όλες αυτές οι διεργασίες εξαρτάται από την εφαρμογή που χρησιμοποιείς. Π.χ. στη Java μπορείς να το κάνει αυτό με το να βάλεις όλες τις απαραίτητες τιμές (URL, όνομα χρήστη, κωδικό πρόσβασης, τύπο πιστοποίησης κλπ) σε ένα hash table και να τα χρησιμοποιήσεις κατά τη διάρκεια σύνδεσης. Αν θέλεις να χρησιμοποιήσεις C++, perl ή ό,τιδήποτε άλλο δυστυχώς δεν ξέρω.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τελικά δηλαδή...

 

Σόρυ γιατί γίνομαι κουραστικός. Το LDAP είναι ένα service-daemon που τρέχει σε ένα μηχανημα.Περιέχει μια ειδική βαση δεδομένων με προσωπικά δεδμένα οποιοδήποτε τύπου. Μπορείς δηλαδή να παίρνεις στοιχεία για κάποιον χρήστη πολύ γρήγορα και από έναν κεντρικό server. Για να δεις όλα αυτά, logαρεις ας πούμε σε ένα webbased πρόγραμμα, όπως κανεις πχ με το myAdmin της mySQL.

 

Αυτό που θα ήθελα, θα ήταν ένα παράδειγμα ενός μηχανήματος που τρέχει τον slapd, τον λόγο υπαρξής του σε μια επιχείρηση!

 

Ευχαριστώ φίλε γηρυόνη.

 

<small>[ 21-08-2002, 16:35: Το μήνυμα επεξεργάστηκε από: InDiO ]</small>

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

emena mou zhthsan na to sthsw kai to ekana, xwris bebea na exyphretei kapio skopo, apla mia yphresia parapanw, gia ta xartia kai mono.

 

pantos de pisteyw pws exei kapia simantikh xrhsimothta se mia mikrh etairia me ligous xrhstes, vevea den to exo dei na doulevei kanonika gia na xero...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 7 χρόνια αργότερα...

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...