debconf
. Questa fase della configurazione può essere forzata con il comando dpkg-reconfigure slapd
.
falcot.com
”.
dpkg-reconfigure slapd
subito dopo la prima installazione.
$
ldapsearch -x -b dc=falcot,dc=com
# extended LDIF # # LDAPv3 # base <dc=falcot,dc=com> with scope sub # filter: (objectclass=*) # requesting: ALL # # falcot.com dn: dc=falcot,dc=com objectClass: top objectClass: dcObject objectClass: organization o: Falcot Corp dc: falcot # admin, falcot.com dn: cn=admin,dc=falcot,dc=com objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator # search result search: 2 result: 0 Success # numResponses: 3 # numEntries: 2
/etc/passwd
, /etc/group
, /etc/services
, /etc/hosts
e così via), convertire questi dati ed inserirli all'interno del database LDAP.
/etc/migrationtools/migrate_common.ph
dev'essere modificato. Le opzioni IGNORE_UID_BELOW
e IGNORE_GID_BELOW
devono essere abilitate (è sufficiente de-commentarle).
migrate_all_online.sh
come segue:
#
cd /usr/share/migrationtools
#
LDAPADD="/usr/bin/ldapadd -c" ETC_ALIASES=/dev/null ./migrate_all_online.sh
migrate_all_online.sh
rivolge alcune domande a proposito del database LDAP nel quale si vogliono migrare i dati. Tabella 11.1 riassume le risposte fornite nel caso d'uso della Falcot.
Tabella 11.1. Le risposte fornite alle domande poste dallo script migrate_all_online.sh
Domanda | Risposta |
---|---|
X.500 naming context |
dc=falcot,dc=com
|
Nome host del server LDAP |
localhost
|
Manager DN |
cn=admin,dc=falcot,dc=com
|
Bind credentials | la password amministrativa |
Create DUAConfigProfile | no |
/etc/aliases
dato che lo schema standard fornito da Debian non include le strutture che utilizza questo script per gli alias email. Se dovessimo integrare questi dati nella directory il file /etc/ldap/schema/misc.schema
dovrebbe essere aggiunto allo schema standard.
-c
con il comando ldapadd
: questa opzione richiede che l'elaborazione non si interrompa in caso di errori. Utilizzare questa opzione è necessario poiché convertire il database /etc/services
genera spesso qualche errore che può essere ignorato senza conseguenze.
Tabella 11.2. Configurare il pacchetto libnss-ldap
Domanda | Risposta |
---|---|
L'Uniform Resource Identifier del server LDAP |
ldap://ldap.falcot.com
|
Il nome distintivo per la base di ricerca |
dc=falcot,dc=com
|
La versione di LDAP da utilizzare |
3
|
Il database LDAP deve richiedere il login? | no |
L'account LDAP per root |
cn=admin,dc=falcot,dc=com
|
La password per l'account root di LDAP | la password amministrativa |
/etc/nsswitch.conf
richiede poi di essere modificato per configurare NSS in modo che utilizzi il modulo ldap
appena installato.
Esempio 11.31. Il file /etc/nsswitch.conf
# /etc/nsswitch.conf # # Esempio di configurazione della funzionalità GNU Name Service Switch. # Se sono (stati) installati i pacchetti `glibc-doc' ed `info' provare: # `info libc "Name Service Switch"' per informazioni riguardo questo file. passwd: ldap compat group: ldap compat shadow: ldap compat hosts: files dns ldap networks: ldap files protocols: ldap db files services: ldap db files ethers: ldap db files rpc: ldap db files netgroup: files
ldap
è generalmente inserito prima degli altri e sarà conseguentemente richiamato per primo. L'unica eccezione degna di nota è il servizio hosts
dato che contattare il server LDAP richiede di contattare per prima cosa il DNS (per risolvere ldap.falcot.com
). Senza questa eccezione la richiesta DNS cercherebbe di contattare il server LDAP ma questo causerebbe un tentativo di risoluzione del nome per il server LDAP e così via in un ciclo infinito. Per ciò che riguarda i servizi netgroup
, essi non sono ancora gestiti dal modulo LDAP.
files
ignorati) i servizi possono essere configurati con la seguente sintassi:
servizio
: ldap [NOTFOUND=return] files
.
/etc/environment
e /etc/default/locale
) che consentirà alle applicazioni di eseguire le autenticazioni richieste attraverso il database LDAP.
Tabella 11.3. Configurazione di libpam-ldap
Domanda | Risposta |
---|---|
Permettere all'account amministrativo LDAP di agire come root? |
Sì. Questo ci consente di utilizzare il comando passwd per cambiare le password conservate nel database LDAP.
|
Il database LDAP richiede il login? | no |
L'account LDAP per root |
cn=admin,dc=falcot,dc=com
|
La password per l'account root di LDAP | La password amministrativa del database LDAP |
/etc/pam.d/common-auth
, /etc/pam.d/common-password
e /etc/pam.d/common-account
. Questo meccanismo utilizza lo strumento dedicato pam-auth-update
(fornito con il pacchetto libpam-runtime). Questo strumento può anche essere eseguito dall'amministratore qualora desideri abilitare o disabilitare dei moduli PAM.
/usr/lib/ssl/misc/CA.pl -newcert
pone alcune domande banali (luogo, nome dell'organizzazione e così via). La risposta alla domanda "common name" deve essere il nome di dominio pienamente qualificato del server LDAP: nel nostro caso ldap.falcot.com
.
newcert.pem
: la corrispondente chiave privata è conservata nel file newkey.pem
.
#
mv newkey.pem /etc/ssl/private/ldap-key.pem
#
chmod 0600 /etc/ssl/private/ldap-key.pem
#
mv newcert.pem /etc/ssl/certs/ldap-cert.pem
slapd
dev'essere avvertito di utilizzare queste chiavi di cifratura. Ciò richiede l'aggiunta delle seguenti direttive al file /etc/ldap/slapd.conf
:
Esempio 11.32. Configurare slapd
per la cifratura
# TLS support TLSCipherSuite HIGH TLSCertificateFile /etc/ssl/certs/ldap-cert.pem TLSCertificateKeyFile /etc/ssl/private/ldap-key.pem
SLAPD_SERVICES
nel file /etc/default/slapd
. Inoltre, per essere prudenti, si renderà necessario disabilitare l'LDAP non sicuro.
Esempio 11.33. Il file /etc/default/slapd
# Posizione predefinita per il file slapd.conf SLAPD_CONF= # Account di sistema con cui eseguire il server slapd. Se vuoto # il server sarà eseguito con root. SLAPD_USER= # Gruppo di sistema con cui eseguire il server slapd. Se vuoto # il server sarà eseguito nel gruppo primario del suo utente. SLAPD_GROUP= # Percorso al file pid del server slapd. Se non impostato # lo script init.d proverà ad individuarlo tramite $SLAPD_CONF # (/etc/ldap/slapd.conf) SLAPD_PIDFILE= # Configura se il demone slurpd dev'essere eseguito. # Valori possibili: # - yes: Avviare sempre slurpd # - no: Mai avviare slurpd # - auto: Avviare slurpd se un'opzione replicata viene trovata # in slapd.conf (valore predefinito) SLURPD_START=auto # slapd serve normalmente ldap solo su tutte le porte TCP 389. # slapd può anche servire richieste sulla porta TCP 636 (ldaps) # e richieste via socket unix. # Esempio d'uso: SLAPD_SERVICES="ldaps:/// ldapi:///" # Opzioni addizionali da passare a slapd e slurpd SLAPD_OPTIONS="" SLURPD_OPTIONS=""
ssl on
ai file di configurazione /etc/pam_ldap.conf
e /etc/libnss-ldap.conf
.
/etc/ssl/certs/ldap-cert.pem
) e l'indicazione della posizione della copia nel file /etc/ldap/ldap.conf
.
Esempio 11.34. Il file /etc/ldap/ldap.conf
# # LDAP Defaults # # Si veda ldap.conf(5) per dettagli # Questo file dovrebbe essere leggibile da tutti ma non scrivibile da tutti. BASE dc=falcot,dc=com URI ldaps://ldap.falcot.com #SIZELIMIT 12 #TIMELIMIT 15 #DEREF never TLS_CACERT /etc/ssl/certs/ldap-cert.pem