Merge branch 'main' of gitlab.beuth-hochschule.de:innovisionlab/ldapbodge
This commit is contained in:
commit
2c37d1bc9c
4
README.md
Normal file
4
README.md
Normal file
@ -0,0 +1,4 @@
|
||||
# Usage
|
||||
```shell
|
||||
$ python3 main.py "ldaps://rsw011.beuth-hochschule.de" "xxxxxxxx@beuth-hochschule.de" "********"
|
||||
```
|
25
main.py
25
main.py
@ -1,7 +1,8 @@
|
||||
import ldap
|
||||
import toml
|
||||
import sys
|
||||
|
||||
import secrets
|
||||
import string
|
||||
|
||||
def init_ldap(server, user, pw):
|
||||
con = ldap.initialize(server)
|
||||
@ -14,6 +15,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)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user