From d78359ca6919cc98d36b599cd1efcb923d417e69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Barnouin?= Date: Thu, 4 Jan 2024 15:57:14 +0100 Subject: [PATCH] Esthetic fixes --- json2ldap.py | 61 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 41 insertions(+), 20 deletions(-) diff --git a/json2ldap.py b/json2ldap.py index 9ad048b..68ce289 100644 --- a/json2ldap.py +++ b/json2ldap.py @@ -1,35 +1,56 @@ +import sys import json from ldap3 import Server, Connection, ALL -basedn = 'dc=nantes,dc=omero-fbi,dc=fr' -usersdn = 'cn=users,'+basedn - -serv = Server('10.54.3.60', get_info=ALL) # define an unsecure LDAP server, requesting info on DSE and schema +BASEDN = 'dc=nantes,dc=omero-fbi,dc=fr' +USERSDN = 'cn=users,'+BASEDN +serv = Server('10.54.3.60', get_info=ALL) conn = Connection(serv, user='cn=admin,dc=nantes,dc=omero-fbi,dc=fr', password='Jps55Sk8An9y2nVL') if not conn.bind(): print('error in bind', conn.result) -data_file="user.json" +def adduser(): + with open(DATA_FILE, "r", encoding="utf8") as file: + json_user = json.load(file) -with open(data_file, "r") as file: - json_user = json.load(file) - + ldap_full_username = json_user["params"]["attributes"]["uid"] + ldap_full_passwd = json_user["params"]["attributes"]["userPassword"] + ldap_givenname = json_user["params"]["attributes"]["givenName"] + ldap_surname = json_user["params"]["attributes"]["sn"] + ldap_cn = json_user["params"]["attributes"]["cn"] + ldap_homedir = json_user["params"]["attributes"]["homeDirectory"] + ldap_mail = json_user["params"]["attributes"]["mail"] + ldap_uid_number = json_user["params"]["attributes"]["uidNumber"] + ldap_gid_number = json_user["params"]["attributes"]["gidNumber"] + ldap_user_dn = 'uid=' + ldap_full_username + ',' + USERSDN - ldap_full_username = json_user["params"]["attributes"]["uid"] - ldap_full_passwd = json_user["params"]["attributes"]["userPassword"] - ldap_givenname = json_user["params"]["attributes"]["givenName"] - ldap_surname = json_user["params"]["attributes"]["sn"] - ldap_cn = json_user["params"]["attributes"]["cn"] - ldap_homedir = json_user["params"]["attributes"]["homeDirectory"] - ldap_mail = json_user["params"]["attributes"]["mail"] - ldap_uid_number = json_user["params"]["attributes"]["uidNumber"] - ldap_gid_number = json_user["params"]["attributes"]["gidNumber"] - ldap_user_dn = 'uid=' + ldap_full_username + ',' + usersdn + conn.add( + ldap_user_dn, + [ + 'inetOrgPerson', + 'posixAccount', + 'person', + 'top' + ], + { + 'sn': ldap_surname, + 'gidNumber': ldap_gid_number, + 'uidNumber': ldap_uid_number, + 'mail': ldap_mail, + 'homeDirectory': ldap_homedir, + 'userPassword': ldap_full_passwd, + 'givenName': ldap_givenname, + 'uid': ldap_full_username, + 'cn': ldap_cn + } + ) - conn.add(ldap_user_dn, ['inetOrgPerson', 'posixAccount', 'person', 'top'], {'sn': ldap_surname, 'gidNumber': ldap_gid_number, 'uidNumber': ldap_uid_number, 'mail': ldap_mail, 'homeDirectory': ldap_homedir, 'userPassword': ldap_full_passwd, 'givenName': ldap_givenname, 'uid': ldap_full_username, 'cn': ldap_cn}) +for arg in sys.argv[1:]: + print(arg) + DATA_FILE = arg + adduser() print(conn.result) conn.unbind() -