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

Предупреждения об истечении срока действия пароля Open Directory

У меня есть аутентификация для Linux, Mac и Windows, висящая на сервере Apple OS X через открытый каталог. Я хочу истекать срок действия паролей для моих пользователей каждые 180 дней, это настроено и работает нормально. Проблема в том, что клиенты, отличные от Mac, особенно пользователи Linux, не имеют никаких указаний на то, что их пароль скоро истечет, пока они не придут через один день, а их пароль просто не работает без какого-либо разъясняющего сообщения об ошибке.

Поэтому я хотел бы создать сценарий для машины, чтобы пользователи получали предупреждение по электронной почте за пару дней до истечения срока действия пароля, а затем еще раз в день истечения срока действия. Однако база данных OD LDAP, похоже, не хранит информацию, как и вывод mkpassdb -dump. Кто-нибудь знает, как получить эту информацию из OD с помощью сценариев или иным образом предупредить пользователей Linux о скором истечении срока действия их паролей?

У нас была точно такая же проблема. Я закончил тем, что написал Perl-скрипт для отправки предупреждения о пароле.

По сути, вам нужно использовать /usr/bin/pwpolicy -getglobalpolicy и сравните maxMinutesUntilChangePassword линия против /usr/sbin/mkpassdb -dump <user slot> и Last password change линия. Вы можете получить слот пользователя из третьего поля в authAuthority атрибут в LDAP.

Затем выполняется простой расчет, чтобы сравнить время последней смены пароля с максимальным сроком действия и отправить пользователю электронное письмо, если срок действия пароля истекает.

Редактировать: О Тигре, mkpassdb не принимает пользовательский слот в качестве аргумента. Вместо этого вы можете посмотреть время смены пароля в базе данных kerberos, используя kadmin.local -q 'getprinc user@DOMAIN.COM'. Вы также можете получить точное имя участника-пользователя из LDAP.