This application provides a generic but flexible LDAP API that can be used easily with anything that can make a GET or POST request. This application makes it trivial to write automation against LDAP.
Copy config.inc.example to config.inc and configure for your environment.
You need the php-ldap package. yum install php-ldap -y
There are different endpoints for adding users, groups, removing users, modifying users, viewing users and adding users to groups... Just form a URL and call it with wget or curl.
Example: wget -O - -q "http://localhost/add-to-group.php/?uid=testuser&cn=testgroup"
-
Returns: uidNumber of created account (plaintext)
-
GET/POST Parameters: uid,password,template,attributes
- uid: Username (string plaintext) (Required)
- password: Password (string plaintext) (Optional)
- template: unixUser or ftpAccount (Required)
- unixUser
- required attributes: gidNumber (defaults to 1000)
- optional attributes: uidNumber,homeDirectory
- ftpAccount
- required attributes: gidNumber (defaults to 1000)
- optional attributes: uidNumber,,homeDirectory
- attributes: LDAPAttribute=Value,LDAPAttribute=Value... (string plaintext) (Optional)
- unixUser
- gidNumber (optional - defaults to 1000)
- uidNumber (optional - determines next automatically if not set)
EXAMPLE: wget "http://localhost/add-user.php?uid=test&password=1234&template=unixUser&attributes=homeDirectory=/home/testuser,gidNumber=7000" -q -O -
-
Returns: gidNumber of created account (plaintext)
-
GET/POST Parameters: cn,attributes
- cn: Group Name (string plaintext) (Required)
- attributes: LDAPAttribute=Value,LDAPAttribute=Value... (string plaintext) (Optional)
- gidNumber (defaults to 1000)
EXAMPLE: wget "http://localhost/add-group.php?cn=test&attributes=gidNumber=5000" -q -O -
-
Returns: nothing
-
GET/POST Parameters: cn,uid
- cn: Group Name (string plaintext) (Required)
- uid: User Name (string plaintext) (Required)
-
Returns: nothing
-
GET/POST Parameters: cn,uid
- cn: Group Name (string plaintext) (Required)
- uid: User Name (string plaintext) (Required)
-
Returns: php print_r of user's attributes
-
GET/POST Parameters: uid
- uid: User Name (string plaintext) (Required)
-
Returns: nothing
-
GET/POST Parameters: uid, attributes
- uid: User Name (string plaintext) (Required)
- attributes: LDAPAttribute=Value,LDAPAttribute=Value... (string plaintext) (Optional)
EXAMPLE: wget "http://localhost/modify-user.php?uid=test&attributes=homeDirectory=/home/testuser,gidNumber=7000" -q -O -
