Probabil depinde de setarea din Active Directory - este setată în Politica de grup, în: Conectare interactivă: Solicitați utilizatorului să schimbe parola înainte de expirare.
Deci, verificați cu administratorul AD. Este posibil să se limiteze această politică la OU, așa că dacă contul dvs. se află într-o anumită OU, este posibil să setați un avertisment mai lung acolo. este tehnic posibil, cel putin. Pot exista constrângeri operaționale.
De asemenea, mașina este conectată prin sssd? Merită să citiți acest articol pentru a vedea dacă există ceva sssd.conf care ar putea suprascrie valoarea trimisă de la AD. Dacă nu este setat sssd.conf deloc, va moșteni ceea ce trimite AD. https://access.redhat.com/articles/3027531
Dacă administratorul domeniului spune că este setat la 7 zile și nu se va schimba, nu este clar dacă veți putea configura sssd.conf pentru a oferi un interval mai lung de avertizare - mă îndoiesc că ar putea suprascrie AD în acest fel.
Alternativ, puteți face o interogare LDAP pe contul de utilizator AD și puteți prelua o proprietate numită msDS-UserPasswordExpiryTimeComputed - valoarea de acolo este trecută de data epocii Windows.
Pentru a calcula data pe un sistem Linux, data epocii Windows este 1601-01-01T00:00:00Z, care este cu 11644473600 de secunde înainte de epoca *nix (1970-01-01T00:00:00Z). Tick-urile Windows sunt în 100 de nanosecunde. Deci, pentru un calcul simplu:
$tickInterval = 10000000
$unixEpochDiff = 11644473600
# interval capturat din msDS-UserPasswordExpiryTimeComputed
$ADPasswordExpiryTime = 132985454614249065
$unixTime = ($userPasswordExpiryTime / $tickInterval) - $unixEpochDiff
În prezent, nu am cum să testez o interogare LDAP de la un sistem bazat pe Linux la AD, dar ar putea merita încercat dacă nimic altceva nu ajută.