Я настроил Kerberos / LDAP на сервере Ubuntu 11.04 в соответствии с это руководство. Мои клиентские машины автоматически монтируют тома NFS с сервера с помощью krb5. Все в порядке: пользователи могут войти в систему на любой из компьютеров в офисе, и их домашние каталоги автоматически монтируются, когда они это делают.
Пользователь забыл свой пароль. Как мне - root - сбросить?
Мне кажется, что пароль нужно сбрасывать как в Kerberos, так и в LDAP, но я не мог понять, как это сделать. Вещи, которые я пробовал:
ldappasswd
- Пользователь может успешно войти в систему, но его домашний каталог не монтируется.ldapsetpasswd
- Тем же.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.