LDAP - Felder durch Sync. befüllen
-
Hallo zusammen,
ich benötige ein wenig Hilfe bei meiner LDAP-Konfiguration und dem Vorhaben, Benutzerfelder (wie Department) aus dem AD zu befüllen.
Meine generelle LDAP-Verbindung steht und funktioniert. Für mich stellt sich nun die Frage, wo genau ich die Felder konfigurieren muss, die synchronisiert werden sollen.
Ich hänge mich an den Einträgen
https://kb.i-doit.com/pages/viewpage.action?pageId=9666615
und
https://kb.i-doit.com/pages/viewpage.action?pageId=97288195
auf, habe jedoch wohl ein Verständnisproblem, überhaupt die Datei zum konfigurieren zu finden.Oder muss ich diese Datei erst komplett selbst erzeugen?
Für jeden Tipp bin ich dankbar.
Viele Grüße
O. -
Hallo @araphor,
die Datei existiert noch nicht. Dies kannst du anlegen und benennen wie du magst.
Solange es eine .ini ist.
Wichtig ist nur, dass du die Konfigurationsdatei mit -c der console.php mitgibssudo -u www-data php console.php ldap-sync -c /var/www/html/i-doit/src/handler/config//ldap-sync.ini
Vergiss nicht die Kategorieerweiterung zu aktivieren.
Die Feldnamen kannst du selbst vergeben.Micha
-
@michael-overkamp
Hallo Micha,vielen Dank für deine schnelle Reaktion! Manchmal hilft ein kleiner Wink schon, etwas anzustoßen.
Ich habe mir die Beispielkonfiguration übernommen und eine erfolgreiche Sync. durchgeführt. Leider werden mir nicht alle Felder befüllt, sondern nur ein paar Werte der Custom Fields (ebenfalls aus der Doku) .
Hast du eventuell noch einen Ansatz, woran es liegen könnte, dass die Default Felder (Department, Street, ...) leer bleiben?
Danke und Gruß
Oliver -
Hast du das ldap Log, unter Systemeinstellungen > Logging, aktiviert?
Vielleicht hilft dir das Log herauszufinden wieso das Attribut leer ist.
Sind die Felder im AD befüllt?Ich wenn ich die ldap.ini aus dem Beispiel nehme sieht mein User so aus:
Allerdings ist mir gerade aufgefallen, dass man dazu ja gar nicht die Kategorieerweiterung benötigt
Dazu reichen die Einträge unter;LDAP Attributes are individual. This default configuration is prepared for Active Directory: attributes[department]=department attributes[phone_company]=telephonenumber attributes[phone_home]=homephone attributes[phone_mobile]=mobile attributes[fax]=facsimileTelephoneNumber attributes[description]=info attributes[personnel_number]=initials attributes[organization]=company attributes[location]=physicalDeliveryOfficeName attributes[street]=streetAddress attributes[city]=l attributes[zip_code]=postalCode attributes[function]=title attributes[service_designation]=title attributes[pager]=pager
-
@michael-overkamp
Ja, das Logging ist aktiv.
Folgende EInträge entstehen bei einer Synchronisation:ldap.DEBUG: Creating new ldap-library connection to: 123.123.123.123:389, user: service_ldap [] [] ldap.DEBUG: ->search: dn=OU=Benutzer,DC=intern,DC=aevn,DC=de | filter=(&(userAccountControl:1.2.840.113556.1.4.803:=2)(objectclass=user)) [] [] ldap.DEBUG: ->search: dn=OU=Benutzer,DC=intern,DC=aevn,DC=de | filter=(&(objectClass=user)(memberOf=CN=idoit_access,OU=Berechtigungsgruppen-Applikationen,OU=Gruppen,DC=intern,DC=aevn,DC=de)) [] [] ldap.DEBUG: User with username "<info>nico</info>" found. Syncing.. [] [] ldap.DEBUG: Available attributes for this user: objectclass,cn,sn,c,l,description,postalcode,postofficebox,physicaldeliveryofficename,telephonenumber,facsimiletelephonenumber,givenname,distinguishedname,instancetype,whencreated,whenchanged,displayname,usncreated,memberof,usnchanged,co,department,company,proxyaddresses,streetaddress,directreports,wwwhomepage,name,objectguid,useraccountcontrol,badpwdcount,codepage,countrycode,badpasswordtime,lastlogoff,lastlogon,scriptpath,logonhours,pwdlastset,primarygroupid,userparameters,objectsid,admincount,accountexpires,logoncount,samaccountname,samaccounttype,showinaddressbook,legacyexchangedn,userprincipalname,lockouttime,objectcategory,msnpallowdialin,msrassavedcallbacknumber,dscorepropagationdata,lastlogontimestamp,msds-supportedencryptiontypes,mstsexpiredate,mstslicenseversion,mstsmanagingls,mstslicenseversion2,mstslicenseversion3,mail,mobile,securecomputingcom2000-safeword-userid,msexchumdtmfmap,msexchtextmessagingstate,homemdb,msexchmailboxsecuritydescriptor,mailnickname,msexchpoliciesexcluded,msexchdelegatelistbl,msexchuseraccountcontrol,msexchmailboxguid,msexchversion,msexchrecipienttypedetails,mdbusedefaults,msexchmobilemailboxflags,msexchrecipientdisplaytype,msexchwhenmailboxcreated,msexchcomanagedobjectsbl,msexchhomeservername,msexchuserculture,msexchrbacpolicylink,dn [] [] ldap.DEBUG: Getting groups of CN=nico,OU=EDV-MA,OU=BenutzerW10-EDV,OU=Benutzer,DC=intern,DC=aevn,DC=de (Servertype: Active Directory) [] [] ldap.DEBUG: ->search: dn=CN=idoit_access,OU=Berechtigungsgruppen-Applikationen,OU=Gruppen,DC=intern,DC=aevn,DC=de | filter=(objectclass=*) [] [] ldap.DEBUG: Found CN=idoit_access,OU=Berechtigungsgruppen-Applikationen,OU=Gruppen,DC=intern,DC=aevn,DC=de (Filter: (objectclass=*)): 1 [] []
Die Sync., stoße ich Sie auf der Console an, sieht so aus:
root@i-doit:/var/www/html# sudo -u www-data php console.php ldap-sync -c /var/www/html/i-doit/src/handler/config/ldap.ini --user u --password p Processing config file No LDAP Settings specified Syncing LDAP-Server 123.123.123.123 (Active Directory) Option "Enable LDAP Paging" is deactivated using sizelimit configuration from the Server. User CN=nico,OU=EDV-MA,OU=BenutzerW10-EDV,OU=Benutzer,DC=intern,DC=aevn,DC=de synchronized. User CN=xxx,OU=TestJAEE,OU=TEST,OU=BenutzerW10-EDV,OU=Benutzer,DC=intern,DC=aevn,DC=de synchronized. User CN=xxx,OU=TestJAEE,OU=TEST,OU=BenutzerW10-EDV,OU=Benutzer,DC=intern,DC=aevn,DC=de synchronized. User CN=xxx,OU=EDV-MA,OU=BenutzerW10-EDV,OU=Benutzer,DC=intern,DC=aevn,DC=de synchronized. User CN=xxx,OU=TestJAEE,OU=TEST,OU=BenutzerW10-EDV,OU=Benutzer,DC=intern,DC=aevn,DC=de synchronized. User CN=xxx,OU=TestJAEE,OU=TEST,OU=BenutzerW10-EDV,OU=Benutzer,DC=intern,DC=aevn,DC=de synchronized. No deleted users found. Regenerating search index.. Start Indexing! Finished reading 6 rows Start mapping 6 rows to 150 documents for "Master Data" (C__CATS__PERSON_MASTER) 113 of 150 documents were skipped! Start overwriting documents Finished overwriting documents! Finished indexing! 0 rows got read! 150 documents got mapped! 113 documents got skipped while mapping, because of empty data! 37 documents got overwriting! 0 documents of inserted documents got updated instead, because they already existed! Regenerated search index!``` Und mein ldap-ini-file sieht ist aus dem Artikel kopiert. Das Ergebnis der Sync. sieht so aus, dass nur die Felder: Vorname, Nachname, E-Mailadresse, objectGUID, objectSID und telephonenumber (customfeld) gefüllt werden. Gruß Oliver
-
Übrigens kannst du den auch User und password in die .ini packen, dann kann --user und --password weggelassen werden.
[commandOptions] user=admin password=pass
Wenn in der .ini steht:
attributes[department]=department
dann wird das Feld importiert. Wenn es leer ist müsste es im LDAP auch leer sein.
Kannst du das ausschließen? Betrifft das alle Benutzer? -
@michael-overkamp
Das Feld ist in der ini genau so angegeben.
Das Feld und auch diverse andere sind im AD definitiv befüllt, kommen nur nicht im I-doit-Objekt an.Danke für den Tipp mit dem Admin.
Ach so. Und ja. Alle Benutzer sind betroffen.
-
Guten Morgen,
eine Sache fällt mir noch auf:
"defaultCompany=Firma"
wird auch nicht berücksichtigt. Kein Benutzer hat eine Firma hinterlegt.Könnte sich die Warnung
Option "Enable LDAP Paging" is deactivated using sizelimit configuration from the Server.
irgendwie auswirken?Gruß
Oliver