| A/I Orange Book (1.0): Un how-to sulla replicazione e distribuzione di una rete resistente di server autogestiti | ||
|---|---|---|
| Indietro | Capitolo 4. Il database degli utenti | Avanti |
Per descrivere le entry di un database LDAP viene utlizzato un formato convenzionale chiamato LDIF (LDAP Data Interchage Format). Un file LDIF è semplicemente un file di testo con una serie di coppie attributo/valore con questa sintassi:
dn: <distinguished name>
objectclass: <object class>
...
...
<attribute type>: <attribute value>
<attribute type>: <attribute value>
...
I file LDIF vengono utilizzati per importare modificare ed esportare
le entry del database (sono decisamente comodi essendo ascii puro).
Riporto la struttura logica e successivamente alcuni esempi di ldif
commentati:
dc=infra, dc=org, o=Anarchy, ou=People
|
|_ uid=phasa@dominio.org
|
|_ alias=phasa
|
|__mail=phasa@dominio.org
Esempio dell'LDIF corrispondente (proveniente direttamente dallo script di migrazione):
dn: uid=phasa@dominio.org, ou=People, dc=infra, dc=org, o=Anarchy
shadowMax: 99999
uid: phasa@dominio.org
cn: phasa@dominio.org
homeDirectory: /var/empty
uidNumber: 13468
objectClass: top
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
objectClass: organizationalPerson
objectClass: inetOrgPerson
shadowWarning: 7
gidNumber: 2000
gecos: phasa@dominio.org
shadowLastChange: 12345
sn: Private
userPassword: {crypt}x
givenName: Private
loginShell: /bin/false
dn: mail=phasa@dominio.org, uid=phasa@dominio.org, ou=People,
dc=infra, dc=org, o=Anarchy
mailAlternateAddress: phasa@public.org
mailAlternateAddress: phasa@public2.org
mailAlternateAddress: phasa@public3.org
status: active
uidNumber: 13468
objectClass: top
objectClass: virtualMailUser
host: server1
gidNumber: 2000
creationDate: 2002-05-07
originalHost: server1
mail: phasa@dominio.org
userPassword: {crypt}$1$fa0c5a13$VVqsukrQmdr79LZg2xvnM.
mailMessageStore: dominio.org/phasa/
dn: alias=phasa, uid=phasa@dominio.org, ou=People, dc=infra,
dc=org, o=Anarchy
parentSite: public.org
status: active
objectClass: top
objectClass: subSite
documentRoot: /home/users/phasa/html
host: server1
originalHost: server1
alias: phasa