Назад | Перейти на главную страницу

Разрешение пользователям LDAP изменять пароль

Как разрешить пользователям LDAP изменять пароль с клиентских машин?

В конфигурации OpenLDAP по умолчанию уже есть:

# The userPassword by default can be changed
# by the entry owning it if they are authenticated.
# Others should not be able to see it, except the
# admin entry below
# These access lines apply to database #1 only
access to attrs=userPassword,shadowLastChange
        by anonymous auth
        by self write
        by * none

Вы не можете. LDAP - это служба каталогов, которая не предоставляет инструментов для конечных пользователей. Инструмент конечного пользователя несет ответственность за предоставление этой функции.

например это должно быть возможно с использованием 'passwd', при условии, что у вас есть аутентификация PAM с использованием правильно настроенного LDAP

Вы можете включить ldap-auth-client (debian и ubuntu) для редактирования паролей, как на локальном компьютере. если ты бежишь dpkg-reconfigure ldap-auth-config и выберите Да для Сделать локальным администратором корневой базы данных, это позволит вам запустить passwd как обычно.

Вы также можете сделать это, отредактировав файл /etc/ldap.conf и добавив:

# The distinguished name to bind to the server with
# if the effective user ID is root. Password is
# stored in /etc/ldap.secret (mode 600)
rootbinddn dn-for-your-admin-account-in-ldap

Если вы редактируете файл вручную, вам нужно опубликовать пароль для учетной записи root в /etc/ldap.secret и сделать его 600

Возможно, вам также придется отредактировать /etc/pam.d/common-password и удалить use_authtok параметр. Если вы редактируете свои файлы pam, обязательно запустите pam-auth-update или перезагрузите систему.

Для пользователей 389, использующих привязанные учетные записи, вы можете создать ACL для привязанных учетных записей следующим образом:

(targetattr = "*") (версия 3.0; acl "Привязать учетные записи"; allow (all) (groupdn = "ldap: /// cn = Bind Accounts, dc = ldap, dc = server");)