Active Directory a vek hesla

Pre tých čo rovnako ako ja. Majú tu smolu že  na niektoré firemné webové  aplikácie pristupujú  pomocou loginu do MS  domény, ale ako primárny OS majú linux. Sa často stretnú z problémom ako dostať upozornenie že je čas sa prihlásiť k nejakým  MS Windows a zmeniť si heslo.

Na pomoc si vezmeme ldap klienta „ldapsearch“ a MS Dokumentáciu a par informácii od niekoho kto ma prístup k doméne 😉

Potrebujeme vedieť naše prihlasovacie údaje z pohľadu ldapu. Vyzera to asi takto: CN=login,CN=users, DC=domena,DC=com.

1. Zistime aká je politika na doméne. časy sú v ActiveDirectory udávané v 100ns preto výsledok adekvátne vydelíme. Výsledkom je počet dni:

ldapsearch -LLL -s base -H ldap://nas_domenovy_server -b "dc=domena,dc=com" -D "CN=login,CN=users, DC=domena,DC=com"=w "heslo" maxPwdAge | awk -F- '/maxPwdAge/ {print $2/864000000000}'

2. AD obsahuje atribút ktorý nám pomôže zistiť kedy bolo naposledy heslo menené. Ten sa volá PwdLastSet. Z neho zistime kedy bolo heslo nastavene. číslo je počet 100ns od 1.1.1601 preto ho vhodne vydelíme a odčítame

ldapsearch -LLL -H ldap://nas_domenovy_server -b "dc=domena,dc=com" -D "CN=login,CN=users, DC=domena,DC=com"=w "heslo" "(sAMAccountName=Login)" PwdLastSet ) | awk  '/pwdLastSet/ {print $2/10000000}'

3. Na záver ešte jednoduchý konvertor aktuálneho času do formátu timestampu používaného v Active Directory

echo $(expr $(date +%s) + 11644473600)0000000

Za týchto údajov už nieje problém zistiť kedy nám heslo vyprší. V sekcii Linux/Unix/SAN  -> OpenLdap čoskoro zverejním hotové skripty.

Print Friendly, PDF & Email