Friday, March 30, 2012

Add Ldap user from php

$AD_server = "ldap://192.168.0.100";
$dn = "uid=netbeans1,ou=people,dc=example,dc=com";
$ds = ldap_connect($AD_server);
if ($ds) {
    ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); // IMPORTANT
    $result = ldap_bind($ds, "cn=admin,dc=example,dc=com", "password"); //BIND
    $ldaprecord['objectclass'][0] = "inetOrgPerson";
    $ldaprecord['objectclass'][1] = "posixAccount";
    $ldaprecord['objectclass'][2] = "shadowAccount";
    $ldaprecord['cn'] = 'netbeans';
    $ldaprecord['givenName'] = 'netbeans';
    $ldaprecord['sn'] = 'netbeans';
    $ldaprecord['mail'] = 'emai@gmail.com';
    $ldaprecord['mobile'] = '+91 1234567890';
    $ldaprecord['uid'] = 'netbeans';
    $ldaprecord['displayName'] = 'netbeans';
    $ldaprecord['uidNumber'] = '1000';
    $ldaprecord['gidNumber'] = '10000';
    $ldaprecord['userPassword'] = 'netbeans';
    $ldaprecord['gecos'] = 'netbeans';
    $ldaprecord['loginShell'] = '/bin/bash';
    $ldaprecord['homeDirectory'] = '/home/john';
    $ldaprecord['shadowExpire'] = '-1';
    $ldaprecord['shadowFlag'] = '0';
    $ldaprecord['shadowWarning'] = '7';
    $ldaprecord['shadowMin'] = '8';
    $ldaprecord['shadowMax'] = '999999';
    $ldaprecord['shadowLastChange'] = '10877';
    $ldaprecord['postalCode'] = '31000';
    $ldaprecord['l'] = 'Toulouse';
    $ldaprecord['o'] = 'Example';
    $ldaprecord['homePhone'] = '+33 (0)40 35963258';
    $ldaprecord['title'] = 'System Administrator';
    $ldaprecord['postalAddress'] = '';
    $ldaprecord['initials'] = 'JD';
       

    $r = ldap_add($ds, $dn, $ldaprecord);
  
} else {
    echo "cannot connect to LDAP server at $AD_server.";
}