Vous êtes sur la page 1sur 9

sans) authentification Active Directory 

DÉC 042011
[Tuto]Configuration de Zimbra dans un Active
Directory et importations des comptes
utilisateurs
 By Denis in Windows, Zimbra



 inShare
Bienvenues dans ce second tutoriel consacré à Zimbra, si vous avez suivies mon
article précédent sur l’installation de Zimbra, vous devez être sur un serveur mail
Zimbra fraichement installé avec aucunes modifications depuis l’installation.

Nous allons donc voir dans ce tutoriel deux choses:

 L’interface d’administration de Zimbra


 La création de comptes
 Les COS
 L’importation de comptes mails depuis un active Directory
 Les commandes utiles sous Zimbra
Nous allons commencer par nous connecter à l’interface d’administration de Zimbra:

Interface d’administration de Zimbra


Dans mon tuto l’adresse ip de mon serveur Zimbra est 10.0.1.6, mais si vous voulez
vous connecter à votre serveur en utilisant « zimbra.test.com », au lieu de l’adresse
IP du serveur vous pouvez soit rajouter le serveur DNS dans votre configuration
réseau, soit (si vous êtes sous Windows ou Linux) éditer le fichier host de votre
configuration.

Sous Windows 7 par exemple éditez le fichier


« C:\Windows\System32\drivers\etc\hosts et mettez la ligne suivante à la fin du
fichier

10.0.1.6 zimbra.test.com
Vous pouvez aussi très bien faire la même chose sous Linux via la commande
suivante:
echo « 10.0.1.6 zimbra.test.com zimbra » >>
/etc/hosts
Maintenant que cela est fait nous pouvons enfin nous connecter à l’interface
d’administration de Zimbra en tapant dans votre navigateur internet
préféré : https://zimbra.test.com:7071

Vous aurez normalement cette erreur:

Erreur SSL

Ne vous inquiétez pas c’est normal étant donné que nous nous connectons en
HTTPS à l’inteface d’administration deZimbra est que notre certificat n’est pas un
certificat généré par une authorité de certification, mais un certificat auto-généré par
Zimbra. Cliquez en toute sécurité sur « Poursuivre quand même » (peut varier
suivant le navigateur internet que nous utilisez).

Rentrez dans la prochaine fenêtre les identifiants de l’administrateur de Zimbra:


Connection à Zimbra

Utilisateur: admin
Mot de passe: zcsadmin (mot de passe rentré
durant l’installation de Zimbra)
Vous arrivez enfin à l’interface d’administration de votre serveur Zimbra

La première page qui s’affiche vous permet de voir l’état de votre serveur, si tout est
vert c’est que tout fonctionne.

A gauche vous avez les différentes sections de configuration du serveur.

Je ne vais pas vous expliquer à quoi sert chaque sections, nous allons nous
intéresser aux trois principales:

 Comptes : gestion des comptes des utilisateurs


 Classe de Service (COS) : gestion des profils des comptes mails
 Onglet domaine : Onglet qui va nous intérésser pour l’intégration avec
L’AD.

Première section à configurer: Classe de Service


Nous allons éditer le COS par défaut, mais vous pouvez en créer autant que vous
voulez en fonctions des différents profils d’utilisateurs.

Il y a 7 onglets de configurations des COS; vous pouvez les modifier comme bon
vous sembles pour ce tutoriel ne cochez que les cases ayant un rapport avec le
GAL, n’hésitez pas à tout regarder, il y a beaucoup de paramètres configurables.
Seconde section : Domaine
Dans cette section nous allons activer l’authentification des utilisateur via l’Active
Directory

Nous allons commencer par configurer le Fuseau horaire le premier onglet


« Informations générale ».

Je suis en France donc j’ai mis GMT +01:00 Bruxelles…..Paris

Puis en haut cliquez sur « Configurer l’authentification »

Dans la fenêtre qui s’ouvre choisissez comme Mécanisme d’authentification « Active


directory »

Et remplissez comme ci dessous (dans mon cas le FQDN de mon serveur Active
Directory est ad-server.test.com)

Authentification AD

Puis cliquez sur suivant.


Dans la fenêtre suivante, Zimbra veut tester les paramètres d’authentification avec
un utilisateur de notre AD.

Pour ma part j’ai utilisé le compte « Administrator » de mon domaine.

Cliquez sur « Tester » si cette fenêtre s’affiche, c’est que tout est bien configuré:

C’est vert donc c’est bon !

Il ne vous reste plus qu’a cliquez sur « Suivant » puis sur « Terminer »

Et voila l’authentification via l’Active Directory est activée.

Intégration des utilisateurs du domaine


Nous allons maintenant passer à la partie difficile ce tutoriel.

La configuration des Emails en fonction des noms des utilisateurs peut varier.

Explications:
Prenons l’exemple de John Doe, salarié chez test.com: il lui faut une adresse Email:

Plusieurs types d’adresses Emails peuvent exister:

 j.doe@test.com
 jdoe@test.com
 john.doe@test.com
 johndoe@test.com
Ou encore, imaginons que le nom d’utilisateur sur le domaine de John Doe soit j.doe
que nous voudrions ceci en adresse email.

Cela fais beaucoup de cas de figures différents.

Nous allons travailler dans le cas de figure ou l’adresses Email de notre utilisateur
sera son nom d’utilisateur du domaine, de cette manière, lorsqu’il voudra se
connecter à son Webmail il pourra utiliser le même nom d’utilisateur est le même mot
de passe que pour se connecter au domaine.

Pour pouvoir mettre en place cette solution nous allons utiliser un script de ma
création que je vais vous détailler après:
#!/bin/bash
#Script de SYNC AD --> Zimbra
#Script sous license GNU/GPL
#ROSENKRANZ Denis
#denisrosenkranz.com
 
#SCRIPT A LANCER EN TANT QU' UTILISATEUR "zimbra"
 
#Déclaration des variables:
 
#Nom de domaine Active Directory
DOMAIN_NAME="domain.lan"
 
#Fichiers temporaires ou seront stockés les données de comptes
Names=Names.txt
Firstnames=FirstNames.txt
Nicknames=Nicks.txt
ADAccounts=Accounts.txt
ZAccounts=Zmbusers.txt
Mails=Mails.txt
 
#Paramêtres sur serveur AD
#FQDN Du serveur Active Directory
ADServer="dc.domaine.lan"
#Nom d'un utilisateur
ADUser="username"
#Mot de passe de cet utilisateur
ADUserpass="password"
 
#On récupère les informations des comptes sur l'active directory
#Dans ce contexte, les comptes à récuperer de trouvent dans l'OU "AdUsers"
#Récupération des  noms
ldapsearch -x -H ldap://$ADServer -b  "OU=AdUsers,DC=test,DC=com" -D "CN=$ADUser,CN=User
'{print $2}' > $Names
 
#Récupérations des prénoms
ldapsearch -x -H ldap://$ADServer -b  "OU=AdUsers,DC=test,DC=com" -D "CN=$ADUser,CN=User
awk '{print $2}' > $Firstnames
 
#Récupérations des noms d'utilisateurs
ldapsearch -x -H ldap://$ADServer -b  "OU=AdUsers,DC=test,DC=com" -D "CN=$ADUser,CN=User
sAMAccountName | awk '{print $2}' > $Nicknames
 
#Transformation des noms d'utilisateurs en adresses Emails
sed 's/.*/&'@$DOMAIN_NAME'/' $Nicknames > $Mails
 
#Suppresion du filtre
sed /filter/d $Mails > Mails2.txt
mv Mails2.txt $Mails
 
#On fusionne toutes ces données dans un seul fichier
paste -d ':' $Names $Firstnames $Mails > $ADAccounts
 
#On récupère les comptes existants dans Zimbra
zmaccts | grep "@$DOMAIN_NAME" | awk '{print $1}' > $ZAccounts
 
#On formatte correctement les fichiers Mails.txt et zmbuser.txt
 
sort $Mails > Mails2.txt
mv Mails2.txt $Mails
 
sort $ZAccounts > zmbusers2.txt
mv zmbusers2.txt $ZAccounts
 
#On compare les comptes existants et les comptes sur l'Active Directory
LISTDIFF=$(diff -u -i -B $ZAccounts $Mails  | grep $DOMAIN_NAME | grep "+" | sed s/^+//g)
 
#Si il existe une nouvelle adresse on la crée dans Zimbra
for i in $LISTDIFF; do
EMAIL=$(echo $i | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz')
FIRSTNAME=$(cat $ADAccounts | grep $i | cut -d ':' -f2 )
LASTNAME=$(cat $ADAccounts | grep $i | cut -d ':' -f1 )
echo 'Rajout du compte mail: ' $FIRSTNAME $LASTNAME $EMAIL
 
#Création des comptes dans Zimbra
#FDD00123456789 est le mot de passe par défaut des comptes, si l'authentification des ut
zmprov ca $EMAIL FDD00123456789 displayName ''$FIRSTNAME' '$LASTNAME'' givenName $FIRSTN
done
exit 0
Alors que fait ce script?

1. Il récupère les Noms des utilisateurs dans le fichier Names.txt


2. Il récupère les prénoms des utilisateurs dans le fichier Firstnames.txt
3. Il récupère les noms d’utilisateurs dans le fichier Nicks.txt
4. Il transforme les noms d’utilisateurs en adresses Emails
5. Il fusionnes Names.txt, Firstnames.txt et Mails.txt dans un seul fichier
Accounts.txt
6. Il récupère les adresses Emails existantes sur le serveur Zimbra dans le
fichier Zmbusers.txt
7. Il compare les deux fichiers
8. Crée les adresses Emails qui n’existent pas sur le serveur Zimbra
Comment le mettre en place:

Connectez vous sur votre serveur Zimbra et tapez ceci:

On récupère le script sur github


wget https://raw.github.com/tubezleb/ADZimbraAccountSync/master/Scripts%20de%20synchroni
Modifiez le script en fonction de votre configuration
vim adsynczcs5.sh
Puis une fois cela fait, faites les manipulations suivantes:
sudo mkdir /opt/zimbra/adsync
sudo cp adsynczcs5.sh /opt/zimbra/adsync
cd /opt/zimbra/
sudo chown -R zimbra:zimbra adsync
cd adsync
sudo su zimbra
chmod +x adsynczcs5.sh
./adsynczcs5.sh
Le script se lance !

Pour vos tests je vous conseil de mettre en commentaire la ligne:


zmprov ca $EMAIL FDD00123456789 displayName ''$FIRSTNAME' '$LASTNAME''
givenName $FIRSTNAME sn $LASTNAME
Dans cette ligne, « FDD00123456789 «  est le mot de passe par défaut du compte
mail, ce mot de passe ne seras pas actif étant donné que nous utilisons les mots de
passe de l ‘Active Directory.

Et voila maintenant vous pouvez vérifier dans l’interface d’administration de


Zimbra que les comptes ont bien été crées.

Si c’est le cas connectez-vous à : 


http://zimbra.test.com et connectez vous avec un utilisateur.

Commandes utiles
Commandes à taper en tant qu’utilisateur Zimbra:
#Checker les services de Zimbra:
zmcontrol status
 
#Redémarrer/arreter/lancer les services Zimbra:
zmcontrol stop/restart/start
 
#Créer un utilisateur:
zmprov ac user@domaine.com password
 
#Créer un administrateur
zmprov ac admin@domaine.com password ZimbraIsAdminAccount
 
#Augmenter la taille des pièces jointes
zmprov mcf zimbraMtaMaxMessageSize 20480000 (20mo)

Vous aimerez peut-être aussi