Когда пользователь добавляется, я всегда создаю пользователя Unix на S1, а затем переношу его на LDAP, что я считаю неправильным, но я не знаю лучшего способа.
Вы можете напрямую интегрировать управление пользователями NSS/PAM на своем сервере LDAP с самим собой. Я делаю это с моими серверами Æ-DIR . Конечно, вы должны быть осторожны, чтобы не заблокировать себя, если что-то пойдет не так. Таким образом, было бы неплохо иметь, помимо нескольких реплик для аварийного переключения, своего рода экстренный вход в систему.
Теперь я хочу изменить пароль для моего пользователя LDAP на S1, но passwd запрашивает текущий (UNIX) пароль вместо текущего (LDAP) пароля.
Это часть локальной конфигурации PAM. Вы ничего не сказали о Linux, который вы используете. Но сегодня на большинстве вариантов Linux конфигурация PAM находится в каталоге /etc/pam.d/. Соответствующая часть конфигурации PAM соответствует типу PAM, когда для изменения пароля используется "пароль". Порядок также можно изменить с помощью конфигурации PAM.
Кстати, я бы не позволил всем пользователям войти на серверы LDAP, чтобы изменить свой пароль с помощью инструмента passwd
. Я бы порекомендовал предоставить веб-приложение для самообслуживания паролей для этого варианта использования.
Имейте в виду, что PAM сложен: вы можете вырыть себе большие дыры в безопасности и / или заблокировать себя. Так что попробуйте сначала с одноразовыми виртуальными машинами.
Вы также можете настроить /etc/nsswitch.conf, если хотите интегрировать Linux с управлением пользователями на основе LDAP.
Возможно, вы захотите взглянуть на полнофункциональные готовые к использованию решения: