Форум сайта python.su
Приветствую! При слиянии нескольких TDS (Tivoli Directory Server) будет ситуация, что пользователи будут дублироваться. Если у пользователей совпадает DN, то будет ошибка, однако, если у них одно имя, но разные DN, то пользователи будут дублироваться, и, при попытке входа под таким именем, WAS выдаст ошибку, что найдено несколько пользователей с различными DN.
Поэтому для миграции нужен скрипт, который будет проверять, есть ли дубликаты пользователей и будет выводить их список в файл.
Даже не знаю с чего начать, буду благодарен за любую помощь
Сравнивать необходимо поле UID
#! /usr/bin/python # Authentication ldap_dn = "cn=qwerty" ldap_pwd = "tivoli" ldap_server = "" sameb_uid = "sec_master" sameb_pwd = "tivoli" # The part of the LDAP tree where you expect users ldap_base = "ou=users,O=qwert,C=RU" # The part of the LDAP tree where the SAMeb # configuration is located ldap_sameb_base = "secAuthority=qwerrty" # Internal configuration ldap_user_file = "ldap_users" from subprocess import call call("C:\OpenLDAP\ClientTools\ldapsearch -LLL -D " + ldap_dn + " -w " + ldap_pwd + " -b " + ldap_base + " -h " + ldap_server + " objectclass=inetOrgPerson uid >" + ldap_user_file, shell=True) ldap_users = open(ldap_user_file, "r") k=0; p=0; for line in ldap_users: if len(line) > 1: p=0; if (k==1): uid = line[5:-1] print dn print uid call("pdadmin -a " + sameb_uid + " -p " + sameb_pwd + " user import " + uid + " " + dn, shell=True); call("pdadmin -a " + sameb_uid + " -p " + sameb_pwd + " user modify " + uid + " account-valid yes ", shell=True); k=0; p=1; if (k==0): if (p==0): dn = line[4:-1] k=k+1;
Отредактировано 04thq (Дек. 25, 2017 09:27:05)
Офлайн
Используй модуль ldap3
https://pypi.python.org/pypi/ldap3
Когда получишь пользователей, можешь прямо в памяти их сравнить, если их немного. Если их много, выведешь в файл и потом файлы будешь сравнивать.
Отредактировано py.user.next (Дек. 26, 2017 05:51:39)
Офлайн
Пользователей достаточно много, и извлечь их правильно у меня не получается.
Что-то перед новым годом дела не идут.
Офлайн