PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linux und ActiveDirectory - Problem



Driver
26.03.15, 12:36
Hallo liebe Gemeinde,

ich plage mich seit 3 Wochen mit einem Problem herum, dessen Lösung mir noch immer in weiter Ferne erscheint und weshalb ich hier nun um Rat bitte.
Zu meiner Idee: Ich habe mir einen Linux-Server (Debian 7.8 x64) mit Apache2, PHP5 und mySQL erstellt, welcher mit einem selbstsignierten Zertifikat versehen worden ist. Das Zertifikat ist für den Apachen wichtig, da ich neben meiner Port-80-Webseite auch ein Anmeldeformular erstellt habe, welches per https aufgerufen wird. Die Daten aus diesem Formular werden in einer mySQL-Datenbank eingebunden.
Parallel dazu habe ich ein ActiveDirectory-Netz aufgebaut mit Windows2012-Servern. Auch hier gibt es neben dem DC auch eine CA, also eine Zertifizierungsstelle.
Soweit also nichts, was nun sonderlich unfangreich ist. ABER... nun zu meinem Problem. Neben dem Eintragen in der mySQL-Datenbank soll das PHP-Script auch einen User im ActiveDirectory unter einem bestimmten Verzeichnis mit Zuweisung zu einer bestimmten Gruppe anlegen. Mit php-ldap kein Problem - DACHTE ich. Dem ist aber leider nicht so.
Nach vielen Versuchen an einem zusätzlich eingerichteten Test-Server habe ich keinen Erfolg erzielen können. Das PHP-Script meldet mir zwar, dass die Funktion "ldap_connect" und "ldap_bind" erfolgreich eine Verbindung zum DC herstellen konnten,
doch "ldap_add" will mir dann einfach keinen User anlegen. Ich habe das sowohl unter dem speziell im AD angelegten User "LDAP Manager" wie auch unter dem Account des Administrators getestet.
Zu erwähnen sei hier noch, dass ich meinen Test-Linux-Server (ldaptest) "erfolgreich" in die Domäne integriert bekommen habe. Kerberos ist also auch funktionstüchtig konfiguriert. "net ads join -U Administrator" hat nach langer Bastelei endlich funktioniert. Aber wie gesagt, obwohl sich die Server vertrauen, gelingt es mir nicht, das AD mit den Daten aus der mySQL-DB zu füttern.

Wer von Euch kann mir da helfen?!

Vielen Dank im Voraus!
Euer Driver / Franky

DrunkenFreak
26.03.15, 20:20
Was heißt, er will nicht?

Driver
27.03.15, 09:31
Hallo DrunkenFreak,

es gibt über PHP keinen Fehlercode zurück. Im Log des Apachen steht aktuell ein Syntax-Fehler (was zum Teil auch "Er will nicht" heisst).


PHP Warning: ldap_add(): Add: Invalid syntax in /var/www/ldap.php on line 118

Die Zeile 118 enthält:

$add = ldap_add($ldapconn,$dn_user,$ldaprecord);

Ich bin gerade etwas überfragt.

Danke nochmals für die Hilfe!
Gruss Driver / Franky

Nachtrag: Okay, "überhaupt" ist falsch, es gibt ja eine Fehlermeldung. Ich meinte, in der $add steht nichts drin, was auf einen Fehler hindeutet und wie man den dann beheben kann.
Den vollständigen Quelltext kann ich auf Wunsch auch gerne posten - anonymisiert, versteht sich. ;)

DrunkenFreak
28.03.15, 12:44
Die Variablen sind richtig gesetzt?

Logging von PHP schon hochgedreht?

Driver
28.03.15, 13:26
Hallo DrunkenFreak!

ja, die Variablen sind richtig gesetzt. Erstaunlicherweise habe ich heute nach einem Neustart meiner Server erfolgreich einen Benutzer im AD anlegen können. Nachdem ich fast alle (bis auf die Namens-Variablen) auskommentiert hatte, konnte ich mich langsam an ein Problem herantasten. Verursacher war das Attribut "primaryGroup" - was mich nun zur nächsten Frage bringt.
Standardmäßig ist ja ein neuer Benutzer der Gruppe "Domänen-Benutzer" zugewiesen. Wie kann ich nun nach dem Anlegen per PHP auch noch die Mitgliedschaft auf "Externe_Tester" ändern, diese Gruppe dann zur Primären erklären und die alte Gruppe "Domänen-Benutzer" dem User entfernen?
Auch das Ändern von "whenCreated" und "whenChanged" will er mir nicht anpassen. Das ist aber nicht so wild. :)
Hättest Du da eine Lösung für mich?
Ich hab mit PHP und LDAP noch gar keine Erfahrungen gemacht - dazu fehlt mir eindeutig die Zeit....

Schönes Wochenende und nochmals Danke!
Driver / Franky

Driver
28.03.15, 22:28
Nochmal Hallo DrunkenFreak!

Ich hab die kleinen Sorgen mit den verschiedenen Datum-Formaten lösen können - allerdings noch NICHT das Thema Passwort-Änderung.
Folgendes Problem ist da nun sehr speziell:
Ich hab eine Windows2012-AD-Domäne. Hier sind die AD-Attribute "userPassword" und "unicodePwd" als Oktett zu speichernde Werte. Bisher hab ich nirgends was gefunden, was mir ein PW, welches man in einem Formular eingegeben hat, in ein AD-konformes Format umsetzen kann. Und ohne funktionierende Anmeldung kann ich nicht weitermachen...

HILFE....bitte....

Gruss
Driver aka Franky