Вероятно, это зависит от настройки в Active Directory — она устанавливается в групповой политике в: Интерактивный вход: предлагать пользователю сменить пароль до истечения срока его действия.
Так что уточните у администратора AD. Можно применить эту политику к подразделениям, поэтому, если ваша учетная запись находится в определенном подразделении, можно установить более длинное предупреждение. Это технически возможно, по крайней мере. Могут быть эксплуатационные ограничения.
Кроме того, подключена ли машина через твердотельный накопитель? Стоит прочитать эту статью, чтобы узнать, есть ли что-то в sssd.conf это может переопределить значение, отправленное из AD. Если он не установлен в sssd.conf вообще, он просто наследует то, что отправляет AD. https://access.redhat.com/articles/3027531
Если администратор домена говорит, что он установлен на 7 дней и не будет меняться, неясно, сможете ли вы настроить sssd.conf чтобы обеспечить более длительный интервал предупреждения - я сомневаюсь, что таким образом он сможет переопределить AD.
В качестве альтернативы вы можете выполнить запрос LDAP для учетной записи пользователя AD и получить свойство с именем msDS-UserPasswordExpiryTimeComputed - значение там отсчитывает от даты эпохи Windows.
Чтобы рассчитать дату в системе Linux, дата эпохи Windows равна 1601-01-01T00:00:00Z, что составляет 11644473600 секунд до эпохи *nix (1970-01-01T00:00:00Z). Такты Windows составляют 100 наносекунд. Итак, для простого расчета:
$тикИнтервал = 10000000
$unixEpochDiff = 11644473600
# интервал, полученный из msDS-UserPasswordExpiryTimeComputed
$ADPasswordExpiryTime = 132985454614249065
$unixTime = ($userPasswordExpiryTime / $tickInterval) - $unixEpochDiff
В настоящее время у меня нет возможности протестировать запрос LDAP из системы на базе Linux в AD, но, возможно, стоит попробовать, если больше ничего не помогает.