[Uneex] LDAP: как сменить userPassword и lmPassword/ntPassword синхронно?

Nikita V. Youshchenko uneex@cs.msu.su
Sun, 31 Aug 2003 01:42:56 +0400


Доброго времени суток.

Что-то я совсем на ночь глядючи запутался.

Храню юниксовые аккаунты в LDAP, хэши паролей попадают в атрибут 
userPassword. Это всё подсасывается на несколько машин, pam_ldap, 
libnss_ldap, всё классно.

Теперь хочу перевести на LDAP и самбу, которая тут за PDC. Чтобы те же 
аккаунты и на виндах были. По докам получается, что информация о паролях 
будет в других атрибутах (lmPassword, ntPassword).

Хочу, чтобы там и там пароль у пользователя был синхронный. И чтобы когда 
пользователь выполняет команду passwd, менялось и то, и другое. 
Заставлять пользователей отдельно набирать пароль в passwd и smbpasswd 
уже становится неприлично.

Что нужно?
Копание в сети вывело на нечто под названием "LDAP Password Modify 
Extended Operation", о чём написано в RFC 3062. По логике вещей кажется, 
что эта штука должна позволять привязать к операции смены пароля 
произвольные действия и с её помощью должно быть можно синхронно 
обновлять несколько атрибутов. Но это по логике. А на практике похоже, 
что openldap-овский slapd ничего по этой операции не умеет кроме как 
сменить атрибут userPassword.

Неужели единственное решение - поднимать какого-нибудь уродца вроде 
pam_smb в /etc/pam.d/password плюс "ldap password sync = yes" в smb.conf?
Криво это как-то ...  Плюс не тянет позволять виндовым машинам менять 
юниксовые пароли ...

Что делать - то ?..