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ă.