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