Mandriva Directory Server
Un article de Wiki de la communauté Mandriva.
[modifier] Quand Linbox FAS rejoint Mandriva
MDS est la descendance de LDS, produit développé par Linbox FAS, depuis le rachat de cette dernière en juin 2007 par Mandriva. La première version de MDS est la 2.10. Elle est sortie avec une toute nouvelle interface adaptée à la charte graphique de Mandriva, la prise en charge des DNS CNAME et l'intégration de l'authentification Kerberos.
[modifier] Fonctionnalités
- Authentification de l'utilisateur via LDAP et Kerberos
- Interface Web AJAX agréable nommée MMC (Mandriva Management Console/Console de Gestion de Mandriva), contenant 6 modules :
- Gestion des utilisateurs et des groupes
- Gestion des comptes et des partages SAMBA
- Gestion des impressions
- Gestion de la distribution du courriel
- Web proxy blacklist management
- Gestion des utilisateurs Open-Exchange
- Une API de gestion écrite en Python, pour LDAP, SAMBA, Open-Xchange et SQUID (coeur de MDS et du MMC)
- Un système de politique d'entreprise, permettant de définir les droits des utilisateurs sur les ressources réseau.
- Grâce au MMC, MDS peut complètement remplacer un serveur Windows NT4.
[modifier] Licence
- GPL, tout simplement.
[modifier] Site Officiel
[modifier] Liens
- Copies d'écran
- Documentation (en anglais)
- Page de téléchargement
- Le Mag'Num n°2 contient un long interview de deux développeurs de MDS
[modifier] Traductions
MDS est actuellement régionalisé en :
- Anglais
- Français
- Espagnol
- Norvégien
- ...
[modifier] Futur
Plus de développeurs vont désormais travailler sur Mandriva Directory Server, ce qui va faire que plus de fonctionnalités seront disponibles plus rapidement, comme par exemple la prise en charge prochaine du serveur d'authentification Freeradius et du 802.1x. MDS étant un logiciel libre, vous pouvez également contribuer en testant et en rapportant des bogues, en participant au développement, ou en créant des modules.
[modifier] Paquetages Mandriva, Debian et autres
[modifier] Mandriva 2008
Les paquetages sont inclus dans la source main. Pour savoir comment configurer vos sources, cliquer ici. L'installation se fait avec cette commande
[modifier] Mandriva CS4
Il faut ajouter une source.
- Pour la version 32 bits :
- Pour la version 64 bits :
Ensuite, l'installation se fait avec cette commande :
[modifier] Debian
Ajoutez le dépôt de MDS au ficher /etc/apt/sources.list :
# Pour Sarge deb http://mds.mandriva.org/pub/mds/debian sarge main # Pour Etch deb http://mds.mandriva.org/pub/mds/debian etch main</pre>
Ensuite téléchargez les paquetages :
[modifier] Autres distributions
Téléchargez les sources ici.

[modifier] Guide d'installation rapide de MMC sur Mandriva 2008
Ce guide n'a pas pour ambition de remplacer la documentation officielle de MDS mais de fournir un guide d'installation en français sur la version 2008 de Mandriva. Normalement, le guide devrait fonctionner aussi pour les versions 2007 et 2007.1. L'installation se déroule en mode root et ne nécessite pas d'environnement graphique pour fonctionner. Il est donc recommandé, plutôt que d'installer la One, d'utiliser la version Mandriva Free, voire la version Mandriva Mini (qui fonctionne sur architecture 32 et 64 bits, avec IceWM comme unique Gestionnaire de fenêtre). Ceci évitera de gaspiller de la place en installant des produits bureautiques ou multimédia. Toute la procédure sera à faire en mode root, qu'il s'agisse de l'installation ou de la configuration des services.
[modifier] Installation de tous les paquetages nécessaires
db46-utils libunixODBC1 openldap-clients openldap-servers openldap-mandriva-dit
un espace additionnel de 5.1Mo sera utilisé.
mount-cifs samba-client samba-common samba-server
un espace additionnel de 37Mo sera utilisé.
nss_ldap pam_ldap
un espace additionnel de 0,4Mo sera utilisé.
perl-Convert-ASN1 perl-Crypt-SmbHash perl-IO-Socket-SSL perl-Jcode perl-Net_SSLeay.pm perl-Unicode-Map perl-Unicode-Map8 perl-Unicode-MapUTF8 perl-Unicode-String perl-XML-NamespaceSupport perl-XML-SAX perl-ldap smbldap-tools
un espace additionnel de 3.8Mo sera utilisé.
[modifier] Configuration du réseau
Votre serveur MDS va être installé dans votre entreprise, votre association, votre résidence, ou votre salon... Il va falloir réfléchir à nommer votre serveur et votre réseau. En ce qui concerne le nommage du réseau, le choix le plus classique, qui va nous servir pour l'installation ci-après, est de se choisir un nom de domaine en xxxxxxxxxxxx.yyy, comme pour les sites internet. Par exemple dupond.fr, gloubiboulga.com etc. Si vous possédez déjà un nom de domaine, alors n'hésitez pas, sinon n'importe quoi fera l'affaire, étant donné que ce serveur ne sera limité qu'à un Intranet. Par exemple, nous choisirons ici mandriva.com, mais si vous préférez bambou.org, alors remplacez dans les fichiers modèles mandriva par bambou et com par org. Ensuite il vous faut un nom pour votre serveur. Ici, nous l'appelerons serveur. Mais encore une fois rien ne vous empêche de l'appeler par exemple citron.

[modifier] OpenLDAP
Le suffixe de la base OpenLDAP est ce qui va l'identifier. Nous allons, par souci de cohérence, utiliser le nom DNS de la machine pour l'identifier. Chaque identifiant (du suffixe, d'un utilisateur etc.) est appelé DN (Distinguish Name). Le DN du suddixz la base sera sous la forme dc=mandriva,dc=com (modifiez selon vos paramètres).
[modifier] Le choix de l'administrateur OpenLDAP et de son mot de passe
Nous allons créer, pour la gestion de la base OpenLDAP, un utilisateur administrateur. Il ne s'agit pas de root, mais d'un super-admin affilié à OpenLDAP. Ici, nous choisirons de l'appeler admin, mais vous pouvez aussi bien l'appeler autrement. Son DN sera donc cn=admin,dc=mandriva,dc=com.
Il nous faut aussi un mot de passe pour cet admin. Nous choisirons PasseAdminLdap. Dans tous les exemples et commandes suivants, remplacez PasseAdminLdap par le mot de passe de votre choix. Par souci de sécurité, nous allons chiffrer ce mot de passe en faisant cette commande :
Le mot de passe sous une forme chiffré est enregistré dans le fichier /tmp/passadmin. Il nous servira à plusieurs occasions par la suite. Pour le lire, il suffira alors de faire :
[modifier] Configuration d'OpenLDAP avec Mandriva 2008 et Mandriva CS4
La configuration d'OpenLDAP peut facilement être effectuée avec le paquetage openldap-mandriva-dit.
# /usr/share/openldap/scripts/mandriva-dit-setup.sh Please enter your DNS domain name [localdomain]: mandriva.com Administrator account The administrator account for this directory is uid=LDAP Admin,ou=System Accounts,dc=mandriva,dc=com Please choose a password for this account: New password:[type password] Re-enter new password:[type password] Summary ======= Domain: mandriva.com LDAP suffix: dc=mandriva,dc=com Administrator: uid=LDAP Admin,ou=System Accounts,dc=mandriva,dc=com Confirm? (Y/n) Y config file testing succeeded Stopping ldap service Finished, starting ldap service Running /usr/bin/db_recover on /var/lib/ldap remove /var/lib/ldap/alock Starting slapd (ldap + ldaps): [ OK ]
Et c'est fait, le répertoire LDAP a été peuplé et les service démarré.
Il faut cependant faire quelques ajustements pour que la configuration de LDAP fonctionne avec MDS :
Premièrement, copiez le schéma MDS dans le répertoire des schémas LDAP :
# cd /usr/share/doc/python-mmc-base*/contrib/ldap/ # cp dhcp.schema dnszone.schema mail.schema mmc.schema /etc/openldap/schema/
Puis ajoutez ces lignes dans le fichier /etc/openldap/schema/local.schema :
include /etc/openldap/schema/mmc.schema include /etc/openldap/schema/mail.schema include /etc/openldap/schema/dnszone.schema include /etc/openldap/schema/dhcp.schema
Puis, pour éviter des conflits de schémas LDAP, commentez ou retrirez ces lignes au début deu ficher /etc/openldap/slapd.conf:
#include /usr/share/openldap/schema/misc.schema #include /usr/share/openldap/schema/kolab.schema #include /usr/share/openldap/schema/dnszone.schema #include /usr/share/openldap/schema/dhcp.schema
Pour finir, commentez ou supprimez ces lignes à la fin duf fichier /etc/openldap/mandriva-dit-access.conf :
#access to dn.one="ou=People,dc=mandriva,dc=com" # attrs=@inetLocalMailRecipient,mail # by group.exact="cn=MTA Admins,ou=System Groups,dc=mandriva,dc=com" write # by * read
Pour vérifier que le service de configuration LDAP est correct, lancez slaptest :
# slaptest config file testing succeeded
Maintenant vous pouvez redémarrer le service LDAP :
# service ldap restart Checking config file /etc/openldap/slapd.conf: [ OK ] Stopping slapd: [ OK ] Starting slapd (ldap + ldaps): [ OK ]
[modifier] /etc/openldap/ldap.conf
2 lignes à modifier
# Modifier les paramètres pour qu'ils correspondent # au nom désiré HOST serveur.mandriva.com BASE dc=mandriva,dc=com
[modifier] /etc/ldap/conf
1 ligne à modifier
# ne pas modifier cette première ligne, # sauf si vous savez ce que vous faîtes host 127.0.0.1 # Modifier les paramètres du dn de base base dc=mandriva,dc=com
[modifier] créer un fichier /tmp/ldap-init.ldif
5 lignes à changer :
- remplacez admin, mandriva et com par vos propres paramètres.
- à la dernière ligne, copiez/collez le mot de passe PasseAdminLdap sous forme chiffrée, mais sans être précédé de {SSHA}).
dn: dc=mandriva,dc=com objectClass: top objectClass: dcObject objectClass: organization dc: mandriva o: mandriva dn: cn=admin,dc=mandriva,dc=com objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP Administrator userPassword: FOORpayOqDu7nc6eAO25fwIudfPCfQ8B</pre>
[modifier] configuration de /etc/nsswitch.conf
Votre ficher devrait ressembler à ça
passwd: files ldap shadow: files ldap group: files ldap hosts: files dns bootparams: files ethers: files netmasks: files networks: files protocols: files rpc: files services: files netgroup: files publickey: files automount: files aliases: files
[modifier] Peuplement de la base LDAP par injection du fichier LDIF
Pour voir les nouvelles entrées, exécuter slapcat|less
[modifier] Samba
[modifier] Choix du nommage du service Samba
Le protocole CIFS utilisé par Samba nécessite deux informations : un nom de domaine Samba (workgroup) et un nom netbios (netbiosname) Par souci de cohérence, le nom de domaine samba sera le nom de domaine DNS de la machine, sans le suffixe .org, .com ou autre .net, mais écrit en majuscule afin de bien le différencier malgré tout : dans notre cas mandriva.com donne MANDRIVA. De même, le nom netbios sera le même que le nom de la machine, en majuscule : dans notre cas serveur donne SERVEUR.
[modifier] Arrêt du service Samba
[modifier] /etc/samba/smb.conf
2 lignes à modifier
[global] ################################################### ## MODIFIER CI DESSOUS LE NOM DU DOMAINE SAMBA ## ## ET LE NOM NETBIOS ## ################################################### workgroup = MANDRIVA netbiosname = SERVER ################################################### ################################################### log level = 3 null passwords = yes name resolve order = bcast host domain logons = yes domain master = yes printing = cups printcap name = cups logon path = \\%N\profiles\%u logon script = logon.bat map acl inherit = yes nt acl support = yes passdb backend = ldapsam:ldap://127.0.0.1/ #################################################### ## MODIFIER CI DESSOUS LE SUFFIXE ET LE ## ## DN ADMIN DE VOTRE ARBORESCENCE LDAP ## #################################################### ldap admin dn = cn=admin,dc=courcouronnes,dc=fr ldap suffix = dc=courcouronnes,dc=fr #################################################### #################################################### ldap group suffix = ou=Group ldap user suffix = ou=People ldap machine suffix = ou=Hosts enable privileges = yes add machine script = /usr/lib/mmc/add_machine_script '%u' [homes] comment = Répertoire personnels browseable = no writeable = yes create mask = 0700 directory mask = 0700 valid users = %U [public] comment = Partage public path = /home/samba/partage/public browseable = yes public = yes writeable = yes [archives] comment = Partage de sauvegarde path = /home/archives browseable = yes public = no writeable = no [printers] comment = Imprimantes path = /tmp browseable = no public = yes guest ok = yes writeable = no printable = yes [print$] comment = Pilotes d'impression path = /var/lib/samba/printers browseable = yes guest ok = yes read only = yes write list = root,@lpadmin [netlogon] path = /home/samba/netlogon public = no writeable = no browseable = no [profils] path = /home/samba/profils writeable = yes create mask = 0700 directory mask = 0700 browseable = no guest ok = yes profile acls = yes csc policy = disable #la ligne suivante est une bonne façon de sécuriser les profils force user = %U #la ligne suivante permet à l'admin d'accéder à tous les profils valid users = %U @"Domain Admins" [partage] comment = aucun path = /home/samba/partage browseable = yes public = no writeable = yes</pre>
[modifier] Créer les répertoires Samba
[modifier] Associer le mot de passe au service Samba
Ce qui devrait afficher quelque chose comme : Setting stored password for "cn=admin,dc=mandriva,dc=com" in secrets.tdb
[modifier] Obtention du SID pour le domaine
Pour plus d'informations sur le SID, consulter cette page Afin d'obtenir et d'enregistrer dans la base ldap le site du domaine :
ce qui devrait afficher quelque chose comme SID for domain MANDRIVA is: S-1-5-21-128599351-419866736-2079179792
Vous pouvez relancer cette commande autant de fois que vous le voulez car les SID restera toujours le même. Pour vérifier que le SID a bien été pris en compte dans LDAP, effectuer slapcat | grep sambaDomainName
Ce qui donnera quelque chose comme dn: sambaDomainName=MANDRIVA,dc=mandriva,dc=com
[modifier] Redémarrer le service Samba
[modifier] Les outils smbldap-tools
[modifier] Le fichier /etc/smbldap-tools/smbldap_bind.conf
4 lignes à modifier
############################################# ## MODIFIER CI DESSOUS LE DN DE L'ADMIN ## ## ET LE MOT DE PASSE, AFFICHÉ EN CLAIR ## ## (NON CHIFFRÉ) ## ############################################# slaveDN="cn=admin,dc=mandriva,dc=com" slavePw="PasseAdminLdap" masterDN="cn=admin,dc=mandriva,dc=com" masterPw="PasseAdminLdap" ############################################# #############################################
[modifier] le fichier /etc/smbldap-tools/smbldap.conf
4 lignes à modifier
# 1) on garde la licence par principe ;) # $Source: /opt/cvs/samba/smbldap-tools/smbldap.conf,v $ # $Id: smbldap.conf,v 1.18 2005/05/27 14:28:47 jtournier Exp $ # # smbldap-tools.conf : Q & D configuration file for smbldap-tools # This code was developped by IDEALX (http://IDEALX.org/) and # contributors (their names can be found in the CONTRIBUTORS file). # # Copyright (C) 2001-2002 IDEALX # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, # USA. # Purpose : # . be the configuration file for all smbldap-tools scripts # 2) Configuration Générale ################################################################### ## MODIFIER CI-DESSOUS LE SID ET LE NOM DU DOMAINE SAMBA ## ################################################################### SID="S-1-5-21-2245537205-2538187306-4027542176" sambaDomain="MANDRIVA" ################################################################### ################################################################### # 3) Configuration LDAP slaveLDAP="127.0.0.1" slavePort="389" masterLDAP="127.0.0.1" masterPort="389" ldapTLS="0" verify="require" cafile="/etc/ssl/cacert.pem" clientcert="" clientkey="" ################################################################### ## MODIFIER CI-DESSOUS LE DN DU SUFFIXE DE LA BASE LDA ## ################################################################### suffix="dc=mandriva,dc=com" ################################################################### ################################################################### usersdn="ou=People,${suffix}" computersdn="ou=Hosts,${suffix}" groupsdn="ou=Group,${suffix}" idmapdn="ou=Idmap,${suffix}" ################################################################### ## MODIFIER CI-DESSOUS LE NOM DE DOMAINE SAMBA ## ################################################################### sambaUnixIdPooldn="sambaDomainName=MANDRIVA,${suffix}" ################################################################### ################################################################### scope="sub" hash_encrypt="SSHA" crypt_salt_format="%s" # 4) Configuration des Comptes UNIX userLoginShell="/bin/bash" userHome="/home/%U" userHomeDirectoryMode="700" userGecos="System User" defaultUserGid="513" defaultComputerGid="515" skeletonDir="/etc/skel" defaultMaxPasswordAge="45" # 5) Configuration de SAMBA userSmbHome="" userProfile="" userHomeDrive="" userScript="" mailDomain="" # 6) Configuration des outils SMBLDAP-TOOLS with_smbpasswd="0" smbpasswd="/usr/bin/smbpasswd" with_slappasswd="0" slappasswd="/usr/sbin/slappasswd"
[modifier] Peupler le répertoire LDAP
Un utilisateur appelé « administrateur » va être créé, et un mot de passe va être demandé. Grâce à l'option « -m 512 », cet uitilisatuer va appartenir au groupe « Domain Admins » (Administrateurs du Domaine).