Hallo ich möchte für einen Server eine kleine Benutzerverwaltung schreiben, welche das anlegen von neuen Benutzern im LDAP-Baum vereinfachen bzw standardisieren soll.
ein LDAP Eintrag sieht zB so aus:
ich habe mir auch verschiedenen Beträgen und Seiten
folgendes zusammen gebastelt:
Im Browser steht dann
[WARN]Warning: ldap_add() [function.ldap-add]: Add: Undefined attribute type in /var/www/bv.r***r.de/test.php on line 19[/WARN]
das aber versteh ich nicht.
Im phpLDAPadmin hab ich herausbekommen, dass zu der ObjectClass gosaMailAccount noch
gosaMailDeliveryMode, gosaMailServer und mail gehört.
Nächste Frage ist wie lege ich das Passwort fest? In einem LDAP-dump habe ich gesehen, dass das Passwort im Klartext (hat was mit dem Mailserver zu tun) in dem Feld userPassword steht.
Kann ich das einfach da rein schreiben?
Wo liegt mein Fehler, warum frisst der das nicht?
Gruß Achim
ein LDAP Eintrag sieht zB so aus:
HTML-Code:
[count] => 1 [0] => Array ( [sn] => Array ( [count] => 1 [0] => testname ) [0] => sn [givenname] => Array ( [count] => 1 [0] => testvorname ) [1] => givenname [uid] => Array ( [count] => 1 [0] => test ) [2] => uid [cn] => Array ( [count] => 1 [0] => testvorname testname ) [3] => cn [mail] => Array ( [count] => 1 [0] => test@r***r.de ) [4] => mail [gosamailserver] => Array ( [count] => 1 [0] => r***r.de ) [5] => gosamailserver [gosamailquota] => Array ( [count] => 1 [0] => 0 ) [6] => gosamailquota [gosamaildeliverymode] => Array ( [count] => 1 [0] => [L] ) [7] => gosamaildeliverymode [gosaspamsortlevel] => Array ( [count] => 1 [0] => 0 ) [8] => gosaspamsortlevel [gosaspammailbox] => Array ( [count] => 1 [0] => INBOX ) [9] => gosaspammailbox [objectclass] => Array ( [count] => 6 [0] => gosaMailAccount [1] => top [2] => person [3] => organizationalPerson [4] => inetOrgPerson [5] => gosaAccount ) [10] => objectclass [lmpassword] => Array ( [count] => 1 [0] => CCF9155E3E7DB453AAD3B435B51404EE ) [11] => lmpassword [ntpassword] => Array ( [count] => 1 [0] => 3DBDE697D71690A769204BEB12283678 ) [12] => ntpassword [pwdlastset] => Array ( [count] => 1 [0] => 1209402130 ) [13] => pwdlastset [count] => 14 [dn] => uid=test,ou=people,dc=r***r,dc=de )
folgendes zusammen gebastelt:
PHP-Code:
$ds = ldap_connect("localhost") or die ("Verbindung konnte nicht aufgebaut werden");
ldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION,3);
ldap_bind($ds,'uid=awi,ou=people,dc=r***r,dc=de','***');
$user["sn"] ="meier";
$user["givename"] ="michael";
$user["cn"] ="michael meier";
$user["uid"] ="michael.meier";
$user["mail"] ="michael.meier@r***r.de";
$user["DC"] ="de";
$user["uid"] ="michaelmeier";
$user["objectClass"]="gosaMailAccount";
$user["gosaMailDeliveryMode"]="[L]";
$user["gosaMailServer"]="r***r.de";
$user["userPassword"]="123";
$user["pwdLastSet"]=time();
$dn ="uid=michael.meier,ou=people,dc=r***r,dc=de";
ldap_add($ds, $dn, $user);
ldap_close($ds);
[WARN]Warning: ldap_add() [function.ldap-add]: Add: Undefined attribute type in /var/www/bv.r***r.de/test.php on line 19[/WARN]
das aber versteh ich nicht.
Im phpLDAPadmin hab ich herausbekommen, dass zu der ObjectClass gosaMailAccount noch
gosaMailDeliveryMode, gosaMailServer und mail gehört.
Nächste Frage ist wie lege ich das Passwort fest? In einem LDAP-dump habe ich gesehen, dass das Passwort im Klartext (hat was mit dem Mailserver zu tun) in dem Feld userPassword steht.
Kann ich das einfach da rein schreiben?
Wo liegt mein Fehler, warum frisst der das nicht?
Gruß Achim
Kommentar