Il 18 febbraio 2010 17.39, Marco Ciampa <ciampix@xxxxxxxxx> ha scritto: > La domanda che più mi tormenta è la seguente: ldap per funzionare ha > bisogno di uno schema. > Tale schema da dove lo prende? Qualcuno mi ha > detto che smbldap-tools arriva con uno schema già bell'e-pronto > all'interno della documentazione del suo pacchetto di installazione. Ma > questo è l'unica sorgente dello schema? Ce ne sono altri? Questi da > dove vengono? Sono standard? Esistono degli schemi tutto sommato standard per directory server X.500 (la RFC 2256 ne da un quadro). Vedi in particolare la RFC 2307 (http://www.ietf.org/rfc/rfc2307.txt) per la definizione della classe posixAccount, che rappresenta un account per sistemi POSIX (con uid, gid, home directory, shell di login, etc.). Dopodiché, dato che gli schemi sono descritti pure essi in termini di oggetti nel directory server (in un ramo particolare), essi possono essere ottenuti ed estesi bene o male a piacimento, sempre via LDAP (se il directory server non è una ciofeca). Aggiungere nuove classi di solito non è un problema, mentre toglierle può esserlo. Quello che non è standard sono gli effetti collaterali delle operazioni di aggiunta/modifica fatte via LDAP: ad esempio, se io creo un nodo di tipo inetOrgPerson e lo rendo membro di un gruppo di tipo groupOfNames, alcuni directory server (es. il Novell NDS) automaticamente aggiungono un attributo "member" all'inetOrgPerson in questione che elenca i gruppi di cui fa parte. Altri directory server non lo fanno. Altri ancora potrebbero usare un attributo diverso. Un altro esempio è il controllo di univocità di un attributo all'interno (chessò, un numero di matricola, o uno username), che alcuni directory server possono fare (e danno errore se via LDAP si cerca di aggiungere due nodi con username identici) e altri no. > Mimano lo schema usato da M$Windows 2003? > In pratica se mi attacco al server ldap di microsoft, trovo i dati > distribuiti allo stesso modo? Probabilmente (non lo so per certo) ti troverai una serie di oggetti delle classi standard con le estensioni del caso. Tieni presente che ogni nodo appartiene a N classi, di cui esattamente una "strutturale", e zero o più classi non strutturali. Per aggiungere nuovi attributi prima li si definiscono (in termini di sintassi del valore e criteri di ricerca) e poi con essi si crea una nuova classe non strutturale. Per poterli poi usare con un nodo, si aggiunge la classe al nodo e poi si possono impostare. > A livello di interfaccia, openldap e > l'ldap M$ sono compatibili o lo schema usato è solo compatibile col > comportamento di SAMBA? LDAP prevede quattro operazioni in croce (autenticazione, ricerca, aggiunta/modifica e cancellazione di nodi), e quello è alquanto standard. Da me c'è ActiveDirectory con alcune decina di migliaia di nodi, e via LDAP, ad esempio, io sono in primis una inetOrgPerson, estesa ad hoc con attributi che hanno senso solo qui da me. La struttura della gerarchia dei nodi dentro dipende da come è strutturata l'organizzazione che essi rappresentano (si suggerisce spesso di farlo su base geografica, o in base alla divisione in funzioni dell'azienda), e quindi qui ci sono solo linee guida. Certo che se è Samba che ci va ad aggiungere nuovi account e persone, è probabile che ci saranno dei vincoli (salvo scrivere codice di integrazione ad hoc). Il resto dovrebbe variare caso per caso. Qui non ho visto come Samba piazza le informazioni in OpenLDAP, per cui non ti saprei rispondere. -- (\_/) | \ \ | ___|_ |_ | /\/\ ianezz ovunque egli sia :-) (^.^) | _ \ | \ | _| / / {^.^ } Verba volant, scripta /(")(") _|_/ _\_| _|____|____|____| (")(")\ manent, data corrupted -- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx