#python #mysql #ldap
#питон #mysql #ldap
Вопрос:
Я пытаюсь создать запись в LDAP с помощью python, это выдает мне ошибку {‘info’: ‘нет глобальных превосходных знаний’, ‘desc’: ‘Сервер не желает выполнять’} ниже приведен мой код для этого
import ldap
import ldap.modlist as modlist
fname="dayanand"
lname="dayanand"
username="dayanand"
employee_num='102'
domain="gmail.com"
base_dn="xyz"
l = ldap.initialize("ldap://localhost")
l.simple_bind_s("cn=admin,dc=somnath,dc=zankar,dc=org","zankar")
user_dn = "cn=admin,dc=somnath,dc=org"
user_attrs = {}
#user_attrs['objectClass'] =
# ['top', 'person', 'organizationalPerson', 'user']
user_attrs['cn'] = fname ' ' lname
#user_attrs['userPrincipalName'] = username '@' domain
#user_attrs['sAMAccountName'] = username
user_attrs['givenName'] = fname
user_attrs['sn'] = lname
user_attrs['displayName'] = fname ' ' lname
#user_attrs['userAccountControl'] = '514'
user_attrs['mail'] = username '@host.com'
#user_attrs['employeeID'] = employee_num
user_attrs['homeDirectory'] = '\\server\' username
#user_attrs['homeDrive'] = 'H:'
#user_attrs['scriptPath'] = 'logon.vbs'
user_ldif = modlist.addModlist(user_attrs)
# Convert our dict to nice syntax for the add-function using modlist-module
ldif = modlist.addModlist(user_attrs)
# Do the actual synchronous add-operation to the ldapserver
try:
l.add_s(user_dn,ldif)
except ldap.LDAPError, error_message:
print "Error adding new user: %s" % error_message
Комментарии:
1. Не могли бы вы, пожалуйста, написать точный вывод ошибки?
Ответ №1:
Как выглядит дерево каталогов в вашем экземпляре LDAP? Я спрашиваю, потому что вы пытаетесь привязаться к dc = somnath, dc = zankar, dc = org:
l.simple_bind_s("cn=admin,dc=somnath,dc=zankar,dc=org","zankar")
Но вы пытаетесь добавить что-то в dc = somnath, dc = org:
user_dn = "cn=admin,dc=somnath,dc=org"
И ошибка «нет глобальных превосходных знаний» может быть видна, когда вы пытаетесь добавить запись в часть каталога, которая не существует.
Вы можете создать новый базовый DN dc = somnath, dc = org или попытаться добавить запись в dc = somnath, dc = zanker, dc = org . ПРИМЕЧАНИЕ. попробуйте добавить запись, которая не является cn=admin, поскольку она предположительно уже существует, поскольку вы используете ее для привязки () к сервису.