Як відобразити повідомлення для входу, наприклад попередження про термін дії пароля?


4

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

У sssd.confви можете встановити , [pam] pam_pwd_expiration_warning = Xщоб змінити дні з'являється повідомлення попереднього терміну дії пароля. Це працює, наприклад, при використанні sudoабо під час віддаленого входу через ssh.

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

Я використовую Xubuntu 14.04. І мені справді допомогло б побачити це попередження на чільному місці. І найкращий спосіб IMO був би безпосередньо після графічного входу.

Відповіді:


3

Мені вдалося створити сценарій, який працює саме для моєї проблеми. Дякую @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.


Нема проблем. Найважче було дістати інформацію з Active Directory ...
Бертрам Нудельбах

2

Я розробив простий настільний додаток для своїх користувачів, щоб вирішити цю проблему. Це називається ADpassword.

Він перевіряє (через квитки kerberos) термін придатності пароля та показує діалогове вікно, коли залишилися дні під налаштованим порогом.

Ви можете додати його до запуску робочого столу користувача та запускати його щодня.

ADpassword в Github

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.