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

Смена паролей пользователей под Kerberos / LDAP

Я настроил Kerberos / LDAP на сервере Ubuntu 11.04 в соответствии с это руководство. Мои клиентские машины автоматически монтируют тома NFS с сервера с помощью krb5. Все в порядке: пользователи могут войти в систему на любой из компьютеров в офисе, и их домашние каталоги автоматически монтируются, когда они это делают.

Пользователь забыл свой пароль. Как мне - root - сбросить?

Мне кажется, что пароль нужно сбрасывать как в Kerberos, так и в LDAP, но я не мог понять, как это сделать. Вещи, которые я пробовал:

  1. ldappasswd - Пользователь может успешно войти в систему, но его домашний каталог не монтируется.
  2. ldapsetpasswd - Тем же.
  3. kinit; passwd - Насколько я понимаю, passwd перехватывает PAM, и, следовательно, это может быть универсальный инструмент, который я ищу, чтобы это сделать. Он постоянно спрашивает меня - могу добавить, довольно загадочно - «Текущий пароль Kerberos». Кажется, что ни один из обычных подозреваемых не работает.

Ура!

Вы не должны вмешиваться в пароль ldap. Это, вероятно {SASL}user@DOMAIN.TLD, вот что это всегда должно быть.

Вы должны использовать kadmin.

Вам не нужно быть root, просто иметь необходимые права в KDC.

пример:

self@notakdc ~ $ kadmin
Authenticating as principal self/admin@DOMAIN.TLD with password.
Password for self/admin@DOMAIN.TLD: 
kadmin:  getprivs
current privileges: GET ADD MODIFY DELETE
kadmin:  cpw someuser
Enter password for principal "someuser@DOMAIN.TLD": 
Re-enter password for principal "someuser@DOMAIN.TLD": 
Password for "someuser@DOMAIN.TLD" changed.
kadmin:  quit

Может с kpasswd? Кроме того, если вы используете Heimdal вместо MIT Krb, есть отличное наложение для OpenLDAP, которое синхронизирует пароли LDAP, Samba и Kerberos, если вы используете exop Modify Password LDAP.