rounded_expiration_days = int(expiration_days - 0.5)
else:
rounded_expiration_days = int(expiration_days + 0.5)
- #print(uid, rounded_expiration_days)
- #continue
if rounded_expiration_days in PWD_EXPIRED_DAYS:
send_mail('ERROR', rounded_expiration_days, uid, email_address)
elif rounded_expiration_days in PWD_EXPIRING_DAYS:
--- /dev/null
+#!/usr/bin/env python
+
+
+import ldap
+import time
+
+
+LDAP_URI = 'ldaps://fds.useribm.hu'
+USERS_BASE = 'ou=people,dc=user,dc=hu'
+
+
+PWD_MAX_AGE = 365 * 24 * 60 * 60
+
+
+if __name__ == '__main__':
+
+ ldap_object = ldap.initialize(LDAP_URI)
+
+ search_id = ldap_object.search(USERS_BASE,
+ ldap.SCOPE_SUBTREE,
+ attrlist=['uid',
+ 'pwdUpdateTime'])
+ (search_result_type, search_result_data) = ldap_object.result()
+
+ current_ts = time.mktime(time.gmtime())
+ for item in search_result_data:
+ (dn, values) = item
+ if 'pwdUpdateTime' in values:
+ uid = values['uid'][0].decode('utf-8')
+ pwd_update_time = values['pwdUpdateTime'][0].decode('utf-8')
+ pwd_update_ts = time.mktime(time.strptime(pwd_update_time,
+ '%Y%m%d%H%M%S%z'))
+ expiration_seconds = PWD_MAX_AGE - (current_ts - pwd_update_ts)
+ expiration_days = expiration_seconds / (24 * 60 * 60)
+ if expiration_days < 0:
+ rounded_expiration_days = int(expiration_days - 0.5)
+ else:
+ rounded_expiration_days = int(expiration_days + 0.5)
+ print(uid, rounded_expiration_days)
<p><input name="new password" type="password" required="true" /></p>
<p>Új jelszó mégegyszer:</p>
<p><input name="new password again" type="password" required="true" /></p>
+ <hr />
+ <p>Az új jelszó a következő követelményeknek kell megfeleljen:</p>
+ <p>1. legalább 14 karakter hosszú kell legyen</p>
+ <p>2. kell benne lennie kisbetűnek, nagybetűnek, számnak, és egy speciális karakternek</p>
+ <p>3. nem lehet benne a loginneved semmilyen formában</p>
<p><input type="submit" value="Változtatás" /></p>
</form>
</body>
<p>Ha nem, keresd meg zfelleget.</p>
<p>(Akinek persze az lesz az első kérdése, hogy mi volt a
hibaüzenet utolsó sora, úgyhogy azt vagy mentsd el/írd le,
- vagy hagyd nyitva ezt a böngészőablakot.)</p>
+ vagy hagyd nyitva ezt a böngészőablakot.)</p>
+ <p>A két leggyakoribb hiba a következő:</p>
+ <ul>
+ <p>ldap.CONSTRAINT_VIOLATION: az új jelszó nem felel meg a követelményeknek.</li>
+ <p>ldap.INVALID_CREDENTIALS: a régi jelszavad (esetleg a loginneved) nem jó.</li>
+ </ul>
<pre>"""
error_epilogue = """ </pre>