Trucs & astuces Synchronisation OpenLDAP ⇄ Active Directory

Introduction

Le serveur Scribe possède deux annuaires, un annuaire OpenLDAP et un annuaire Active Directory.

L'annuaire Active Directory est alimenté par le contenu de l'annuaire OpenLDAP.

L'annuaire OpenLDAP est sur le conteneur maître. L'annuaire Active Directory est dans le conteneur addc.

La commande diagnose permet notamment de connaître l'état du service de synchronisation LSC[1] :

1
*** Serveur de fichiers
2
3
Test du fichier de configuration :
4
.                     Syntaxe => Ok
5
6
Statut du service winbindd :
7
.            Service winbindd => Ok
8
.         uid/gid disponibles => Ok
9
.               Etat du cache => Ok
10
11
.            Connexions samba => 0
12
13
.             Ticket kerberos => Ok
14
.         Synchronisation LSC => Ok

Synchronisation

La commande suivante permet de forcer la synchronisation complète des comptes depuis le maître :

# /usr/bin/lsc -f /etc/lsc -s all -c all -t 1

Une synchronisation complète est réalisée toutes les nuits par le script schedule[2] : /usr/share/eole/schedule/scripts/eolead.

AttentionSuppression d'un compte unique

Les comptes utilisateurs AD ne sont pas supprimés par la synchronisation en temps réel qui se contente uniquement de les désinscrire de tous leurs groupes autres que Domain Users.

Seule une synchronisation complète permet le nettoyage des comptes supprimés.

La synchronisation complète est exécutée toutes les nuits.

AttentionDéplacement de comptes

Dans l'annuaire Active Directory, seul le déplacement des entrées utilisateur et ordinateur est supporté par la synchronisation.

L'automatisation de la classification de ces objets peut être mise en place grâce à la fonctionnalité eole-ad-dc-ou.

Le déplacement des groupes est susceptible d'entraîner des dysfonctionnements.

Changement de mot de passe

Forcer le changement de mot de passe d'un utilisateur (exemple avec l'utilisateur admin) depuis le maître :

# changepasswordeole.pl admin Eole123$

Remarque

Si la commande échoue avec un message qui ressemble au suivant, vérifier que le mot de passe proposé respecte la politique de sécurité mise en place sur le serveur AD :

Unable to modify unicodePwd for CN=admin,CN=Users,DC=domscribe,DC=ac-test,DC=fr (0000052D: Constraint violation - check_password_restrictions: the password does not meet the complexity criteria!)

Relancer le service AD-DC

Le service samba-ad-dc est installé dans le conteneur addc, pour le relancer, exécuter :

# ssh addc "service samba-ad-dc restart"

Liste d'utilisateurs

Lister tous les utilisateurs AD depuis le maître :

# ssh addc "ldbsearch -H /var/lib/samba/private/sam.ldb -S '(objectclass=user)' cn | grep ^cn:"

ou :

# ssh addc "samba-tool user list"

Attributs utilisateur

Chercher un utilisateur depuis le maître :

# ssh addc "ldbsearch -H /var/lib/samba/private/sam.ldb -S cn=<login>"

ou :

# ssh addc "samba-tool user show <login>"

Journaux

Les journaux de l'outil LSC sont disponibles dans :

  • /var/log/lsc/ pour les synchronisations manuelles ;
  • /var/log/rsyslog/local/lsc/ pour les opérations réalisées par le démon.

Les journaux du service AD-DC sont disponibles sur le maître dans le répertoire /var/log/samba-ad-dc/ qui est un lien symbolique.