shitty code der aus dem ldap user importiert und ihnen eine random pw gibt

This commit is contained in:
FSRVI 2021-09-30 01:52:51 +02:00
parent 3472d75815
commit 0a29297ea9

25
main.py
View File

@ -1,7 +1,8 @@
import ldap
import toml
import sys
import secrets
import string
def init_ldap(server, user, pw):
con = ldap.initialize(server)
@ -15,6 +16,22 @@ if __name__ == '__main__':
pw = sys.argv[3]
con = init_ldap(server, user, pw)
result = con.search_s('dc=beuth-hochschule,dc=de',
ldap.SCOPE_SUBTREE,
'|(title=Mechatronik Bachelor)(title=Mechatronik Master)',
['cn'])
ldap.SCOPE_SUBTREE,
'(|(title=Mechatronik Bachelor)(title=Mechatronik Master))',
['uid'])
mtnrs = [matnr[1]['uid'][0].decode("utf-8") for matnr in result[:-3]]
pw = []
for i in range(len(mtnrs)):
alphabet = string.ascii_lowercase + string.digits
password = ''.join(secrets.choice(alphabet) for i in range(8))
userdict = dict()
userdict["passwd"] = password
userdict["roles"] = ["default/internal", "open/internal"]
userdict["priority"] = 0
pw.append(userdict)
with open("users.toml", "w") as f:
toml.dump(dict(zip(mtnrs, pw)), f)