[Linuxtrent] Re: una domanda al giorno leva il bug di torno...

  • From: Matteo Ianeselli <m.ianezz@xxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Thu, 18 Feb 2010 22:46:42 +0100

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


Other related posts: