logo openldap

Modification de la configuration d’openldap pour autoriser les utilisateurs à modifier leur mot de passe samba

En effet par défaut un objet de classe posixAccount a bien les autorisations de modifier son attribut « userPassword ». Mais quand on lui ajoute la classe sambaSamAccount, il semble que par défaut le compte ne peut pas modifier son attribut sambaNTPassword. C’est contrariant, en particulier quand on veut pouvoir donner la possibilité à l’utilisateur de changer son mot de passe par l’intermédiaire d’un script ou d’une page web. Voyons comment modifier la configuration d’openldap pour autoriser les utilisateurs à modifier leur mot de passe samba.

Il faut altérer la configuration de openldap pour modifier les autorisations. Dans mon cas, la configuration à modifier est stockée ici : /etc/ldap/slapd.d/cn=config/olcDatabase={1}mdb.ldif

olcAccess: {0}to attrs=userPassword,shadowLastChange Password by self write by anonymous auth by * none

Effectivement, il n’y a pas mention d’une quelconque autorisation d’écriture sur l’attribut qui nous intéresse par « self ». Pour modifier ceci, il faut éditer un fichier ldif comme ceci:

dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange,sambaPwdLastSet,sambaNTPassword by self write by anonymous auth by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by * read

Puis injecter ce ldif dans l’openldap

ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/auth.ldif

L’utilisateur a désormais la permission de modifier sont mot de passe samba, au même titre que son mot de passe unix.

o/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *