Commençons par l'installation du serveur LDAP et sa configuration. Le serveur LDAP
permettra de fournir à Samba les informations concernant les comptes utilisateurs du domaine.
Nous allons avoir besoin de plusieurs composants :
- les librairies LDAP compilées,
- les sources de ces librairies (pour des compilations futures),
- les utilitaires d'interrogation d'annuaire,
- le serveur LDAP (slapd)
L'installation de tout ceci se fait de manière très simple sous Debian, via apt :
- apt-get install libldap2 libldap2-dev ldap-utils slapd
Le serveur est désormais installé, nous allons voir comment le configurer...
- Editer le fichier le fichier /etc/ldap/slapd.conf pour configurer OpenLDAP :
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/nis.schema
pidfile /var/run/slapd.pid
argsfile /var/run/slapd.args
database ldbm
suffix "dc=martymac,dc=com"
rootdn "cn=Manager,dc=martymac,dc=com"
rootpw secret
directory /var/lib/ldap
index cn eq
Le "rootdn" représente le compte autorisé à modifier la base LDAP. Le "rootpw" représente son mot
de passe. Attention, il est stocké en clair dans le fichier...
- Nous disposons maintenant d'une configuration suffisante pour démarrer le serveur :
/etc/init.d/ldap start
Nous allons essayer d'insérer, depuis l'hôte local, quelques enregistrements dans notre base LDAP,
afin de tester notre serveur :
- Créer un fichier test.ldiff source :
dn: dc=martymac,dc=com
objectclass: dcObject
dc: martymac
objectclass: organization
o: martymac
dn: ou=personnes,dc=martymac,dc=com
objectclass: top
objectclass: organizationalUnit
ou: personnes
description: Branche personnes
Il faut ensuite insérer les données du fichier :
- ldapadd -W -D 'cn=Manager,dc=martymac,dc=com' -f test.ldiff
Pour rechercher (dumper la base, a partir de 'dc=martymac,dc=com') :
- ldapsearch -W -D 'cn=Manager,dc=martymac,dc=com' -b 'dc=martymac,dc=com'
- ou : ldapsearch -b 'dc=martymac,dc=com' (car dans notre cas, pas besoin d'authentification pour les recherches)
Pour effacer les données (afin de laisser une base propre pour la suite) :
- ldapdelete -W -D 'cn=Manager,dc=martymac,dc=com' 'ou=personnes,dc=martymac,dc=com'
Maintenant que notre serveur LDAP fonctionne, configurons-le pour qu'il puisse recevoir nos futurs comptes Samba.
Nous allons configurer LDAP pour qu'il nous fournisse un accès à des comptes Samba. Il faut tout d'abord spécifier
quel schema (structure de comptes) utiliser. La distribution de Samba en fournit un (dans le répertoire examples/
des sources).
- Récupérer les sources de Samba
(http://de.samba.org/samba/ftp/Binary_Packages/Debian/dists/stable/main/source/samba_2.2.8a-0.1.tar.gz)
- Les décompresser : tar xvzf samba_2.2.8a-0.1.tar.gz
- Copier le fichier examples/samba.schema dans /etc/ldap/schema/
Il faut ensuite inclure ce nouveau schéma dans le fichier slapd.conf.
- Edition du fichier /etc/ldap/slapd.conf pour obtenir ceci :
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/samba.schema
pidfile /var/run/slapd.pid
argsfile /var/run/slapd.args
database ldbm
suffix "dc=martymac,dc=com"
rootdn "cn=Manager,dc=martymac,dc=com"
rootpw secret
directory /var/lib/ldap
index objectClass,rid,uid,uidNumber,gidNumber,memberUid eq
index cn,mail,surname,givenname eq,subinitial
Le serveur est désormais configuré et prêt à stocker les comptes Samba. Il nous reste à configurer les clients
LDAP (locaux) : ldapsearch, ldapdelete... Ceci se fait par l'édition du fichier ldap.conf :
- Edition du fichier /etc/ldap/ldap.conf :
base dc=martymac,dc=com
host 127.0.0.1
On peut désormais redémarrer notre serveur LDAP : /etc/init.d/ldap restart
Il sera prêt à être interrogé par Samba, une fois que nous l'aurons peuplé. Passons désormais au second serveur,
le serveur Samba.