Как я отображаю сообщение входа в систему, такое как истечение пароля, предупреждающее?

Я использую sssd для аутентификации против активного каталога. Пароли для пользователя могут истечь после данного времени.

В sssd.conf можно установить [pam] pam_pwd_expiration_warning = X для изменения дней, сообщение появляется предшествующее истечение пароля. Это работает, например, при использовании sudo или при входе в систему удаленно через ssh.

Существует ли способ отобразить такое сообщение (возможно, как уведомление) после входа в систему?

Я использую Xubuntu 14.04. И это действительно помогло бы мне видеть это предупреждение в видном положении. И лучший способ IMO был бы непосредственно после графического входа в систему.

4
задан 28 October 2015 в 14:10

2 ответа

Мне удалось создать сценарий, который работает на точно мою проблему. Благодаря @kos для ответа - это помогло мне показать само диалоговое окно.

я записал сценарий на основе , это решение , но с тех пор dscl не доступно для меня, я искал другой способ запросить AD. Эта запись в блоге помогла мне начать и найти решение получить точно, что я искал..

, Таким образом, вот мой сценарий, который я затем просто включаю запуск сессии:

#!/bin/bash
pwPolicy=90
warnDays=10
user=`whoami`
userRecord=`ldapsearch -h mydomain.de -b 'dc=mydomain,dc=de' "(sAMAccountName=${user})" 2>/dev/null`
lastpwdMS=`grep -i pwdLastSet <<< "$userRecord" | sed 's/pwdLastSet: //'`
todayUnix=`date "+%s"`
lastpwdUnix=`expr $lastpwdMS / 10000000 - 11644473600`
diffUnix=`expr $todayUnix - $lastpwdUnix`
diffdays=`expr $diffUnix / 86400`
daysremaining=`expr $pwPolicy - $diffdays`

if [ "$daysremaining" -le ${warnDays} ]
then
  zenity --info --title="Password expiration" --text="The password for ${user} will expire in ${daysremaining} days."
fi

я не знаком с AD, но просто пробую ldapsearch -h mydomain.de -b 'dc=mydomain,dc=de' "(sAMAccountName=${user})" 2>/dev/null, если он работает на Вас.

IMO это решение не симпатично и не применимо для других сценариев, но это решает эту единственную проблему. Мне все еще интересно, если кто-либо знает, как просто показать диалоговое окно с сообщениями, которые появились бы при входе на пути ssh.

3
ответ дан 1 December 2019 в 09:35

Я разработал простое настольное приложение для своих пользователей для решения этой проблемы. Это называют ADpassword.

Это проверяет (с помощью kerberos билетов) дату истечения срока пароля и показывает диалоговое окно, когда оставленные дни находятся под настроенным порогом.

можно добавить его к пользователю настольный запуск и каждый день выполнять его.

ADpassword в Github

2
ответ дан 1 December 2019 в 09:35

Другие вопросы по тегам:

Похожие вопросы: