Contourner la limitation à 20 caractères des login avec Windows 7/seven et un domaine samba/ldap

Avec Windows XP, la limitation à 20 caractères des logins avait été levée. Le problème est réapparu avec Windows Seven, qui a réappliqué de manière un peu trop stricte la norme que Microsoft avait imposé avec les premières versions des domaines windows...

Si vous aviez, comme moi, basculé les logins des utilisateurs concernés depuis que votre parc avait migré vers XP, vous vous retrouvez avec un problème : difficile de leur dire qu’on revient en arrière, et qu’on leur remet un nom court !

Une bonne nouvelle : il semblerait que la version 8 de windows (en test) supporterait de nouveau les noms longs.

Solution de contournement

Il faut modifier votre fiche ldap pour associer les deux noms (le nom court et le nom long). J’explique...

Je veux me connecter avec le login application.professionnelle (pourquoi ce nom ? j’ai un bouquin sous la main, et y a ça dans le titre...).

Pour que ça fonctionne, il faut, dans l’enregistrement ldap, disposer de deux attributs uid, insérés dans l’ordre :

  • uid : application (ou a.professionnelle, en production)
  • uid : application.professionnelle.

Pour réaliser l’ajout du second uid, vous pouvez soit :

  • utiliser ldapAccountManager (arborescence, afficher les attributs systèmes, rajouter une entrée à uid, puis renommer les deux entrées pour que le nom court soit en premier)
  • créer un fichier ldif adapté :
cat test.ldif :
dn: uid=application.professionnelle,ou=people,ou=agriculture,o=gouv,c=fr
changetype: modify
delete: uid
-
add: uid
uid: application
-
add: uid
uid: application.professionnelle

puis, lancez la commande :

ldapmodify -W -D "cn=manager,o=organisation,c=fr" -f test.ldif

Renseignez le mot de passe manager : la modification est effectuée. Vous pouvez vérifier ce qu’il s’est passé :

ldapsearch -x "(uid=application.professionnelle)"
dn: uid=application,ou=People,o=organisation,c=fr
(...)
uid: application
uid: application.professionnelle

Maintenant, vous pouvez vous connecter avec soit le nom court, soit le nom long.

Limitations

Le nom court est celui vu par samba : le dossier /home est /home/application, et non /home/application.professionnelle. Ceci dit, rien ne vous empêche de créer un lien...

Si vous faites une identification directe dans l’annuaire ldap (par exemple, pour l’accès à une application), vous devrez utiliser le nom court. Idem pour un accès limité via ldap dans Apache (webdav, par exemple).

Donc, c’est pas parfait, mais cela vous permet d’attendre l’arrivée de Windows8...