Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: LDAP + lightdm смена истекшего пароля пользователя  (Прочитано 1312 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 𝓝𝓲𝓻𝓭

  • Автор темы
  • Участник
  • *
  • Сообщений: 217
    • Просмотр профиля
Доброго дня.
Решил перевести организацию на опенсорцное решение. Задача собрать некое подобие оффтопного контроллера домена. На данный момент имею сервер на debian на нем поднят и настроен LDAP, авторизация клиентов проходит отлично, монтируются нужные папки с NFS сервера. Политики паролей тоже работают. Уткнулся в смену истекшего пароля на клиенте. Клиент Ubuntu 17.10 с MATE.
Если вручную от имени пользователя задать ldappasswd, то пароль меняется. Т.е. пользователь фактически имеет право на смену своего собственного пароля.
Как застваить lightdm выдавать хоть какую то информацию о том, что пароль истек. В идеале конечно получить графическое приглашение на смену пароля.
Больше всего глупостей в течение дня совершает человек, который рано встаёт и поздно ложится.

Оффлайн oS_a

  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
При авторизации с истекшим сроком пароля - под окном ввода пароля маленькая надпись: the password has expired (или как то так)и пользователь проваливается в систему. Продвинутые пользователи сами меняют пароль при помощи passwd
Я как то пытался получить срок действия пароля https://forum.ubuntu.ru/index.php?topic=290498.msg2286179#msg2286179 не оч получилось) то что получал было в непонятных попугаях.
Если найдете как получать срок жзни пароля в человеческом виде - поделитесь, и далее можно простейшим скриптом - если срок действия пароля меньше 1/2/3 дня - при помощи того же zenity организовать диалог с пользователем на смену пароля - все это использовать в рамках xsessionrc да так что бы пользователь не мог работать пока пароль не сменит.

Оффлайн 𝓝𝓲𝓻𝓭

  • Автор темы
  • Участник
  • *
  • Сообщений: 217
    • Просмотр профиля
Тоже в этом направлении думаю. По сути, надо получить срок действия паролей с дефолтной политики, затем получить дату изменения пароля текущего пользователя. Первый определяется в секундах. Второй это pwdChangedTime и он выглядит примерно так: 20171221115107Z Вроде похоже на дату )
Получается нужно эту дату перевести в Unix Time прибавить к этому первое число и сравнить с текущей датой. А дальше уже
при помощи того же zenity организовать диалог с пользователем на смену пароля

Радует, что не одного меня такая мысль посетила, вероятно в правильном направлении думаем.
Как что будет получаться, то буду оставлять тут заметки.
« Последнее редактирование: 22 Декабря 2017, 12:42:21 от Nird »
Больше всего глупостей в течение дня совершает человек, который рано встаёт и поздно ложится.

 

Страница сгенерирована за 0.02 секунд. Запросов: 21.