/
PBX GUI - How to Authenticate User Manager via OpenLDAP

PBX GUI - How to Authenticate User Manager via OpenLDAP

For this demonstration we are using the OpenLDAP Server provided by zFlex http://www.zflexsoftware.com/index.php/pages/free-online-ldap

Step-By-Step

On the zFlex page (http://www.zflexsoftware.com/index.php/pages/free-online-ldap ) the setup parameters are detailed as so

 

image-20240405-152206.png

 

Additionally three users have defined passwords so we will be using the OU of guests for our setup.

 

image-20240405-152231.png

 

Our setup configuration is as follows:

Directory Settings

image-20240405-152416.png

 

Operational Settings

image-20240405-152557.png

 

User Configuration

 

image-20240405-152620.png

 

Group Configuration

 

image-20240405-152632.png

 

Manual Syncing

Manual Syncing can be preformed by running the following command

[root@freepbxdev4 framework]# fwconsole userman --syncall --force Directory 'PBX Internal Directory' does not support syncing Starting Sync on directory 'Markham Blade AD'... Finished Starting Sync on directory 'zflex server'... Finished

Troubleshooting

Using a directory browser

An LDAP directory browser is a great way to get a visual overview of your directory. Directory browsers can also be used to check authentication. Apache Directory Studio was used in the development of OpenLDAP in User Manager.

Welcome to Apache Directory Studio — Apache Directory

 

image-20240405-153200.png
image-20240405-153219.png
image-20240405-153234.png
image-20240405-153251.png

 

Using the PBX CLI

You can troubleshoot User Manager Active Directory syncing by running from the CLI with a few options

[root@freepbxdev4 framework]# fwconsole userman --help  ______             _____  ______   __ |  ____|           |  __ \|  _ \ \ / / | |__ _ __ ___  ___| |__) | |_) \ V / |  __| '__/ _ \/ _ \  ___/|  _ < > < | |  | | |  __/  __/ |    | |_) / . \ |_|  |_|  \___|\___|_|    |____/_/ \_\ Usage:   userman [options]   Options:       --syncall         Syncronize all directories       --sync=SYNC       Syncronize a single directory by id (obtained from --list)       --force           Force syncronization       --list            List directories   -h, --help            Display this help message   -q, --quiet           Do not output any message   -V, --version         Display this application version       --ansi            Force ANSI output       --no-ansi         Disable ANSI output   -n, --no-interaction  Do not ask any interactive question   -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug   Help:   User Manager

List Directories

[root@freepbxdev4 framework]# fwconsole userman --list +----+------------------------+ | ID | Name                   | +----+------------------------+ | 9  | PBX Internal Directory | | 2  | Markham Blade AD       | | 3  | zflex server           | +----+------------------------+

Sync all directories

[root@freepbxdev4 framework]# fwconsole userman --syncall Directory 'PBX Internal Directory' does not support syncing Not syncing directory for another 5598 seconds Not syncing directory for another 1998 seconds

Force Sync all directories

[root@freepbxdev4 framework]# fwconsole userman --syncall --force Directory 'PBX Internal Directory' does not support syncing Starting Sync on directory 'Markham Blade AD'... Finished Starting Sync on directory 'zflex server'... Finished

Force sync a single directory with verbose logging 

This will then return exactly what user manager is doing while syncing.

For certain queries an ldapsearch statement will be returned. You can copy and paste this command and run it locally to see what is returned on the search using the filters you supplied in setup

[root@freepbxdev4 ~]# fwconsole userman --sync 3 --force --verbose Starting Sync on directory 'zflex server'...   Updating All Users     ldapsearch -w zflexpass -h www.zflexldap.com -p 389  "cn=ro_admin,ou=sysadmins,dc=zflexsoftware,dc=com" -b "ou=users,ou=guests,dc=zflexsoftware,dc=com" -s sub "(objectclass=inetorgperson)" "ibm-entryuuid=*" ibm-entryuuid     Retrieving all users...     Got 29 users         Updating guestzameer17         Updating guestzameer19         Updating guestzameer16         Updating guestzameer15         Updating guestzameer12         Updating guestzameer13         Updating guestzameer20         Updating guestzameer21         Updating guestzameer25         Updating guest11         Updating guestzameer24         Updating guestzameer23         Updating guestzameer22         Updating guestzameer11         Updating guestzameer10         Updating pham_Khanh2         Updating guestzameer         Updating pham_Khanh1         Updating pham_Khanh         Updating guest2         Updating guest3         Updating guestzameer1         Updating guestzameer2         Updating guestzameer7         Updating guestzameer8         Updating guestzameer5         Updating guestzameer4         Updating guestzameer3         Updating guest1 Updating All Groups     ldapsearch -w zflexpass -h www.zflexldap.com -p 389  "cn=ro_admin,ou=sysadmins,dc=zflexsoftware,dc=com" -b "ou=group,ou=guests,dc=zflexsoftware,dc=com" -s sub "(objectclass=groupofnames)"     Retrieving all groups...     Got 4 groups     Working on testGROUP             Adding guest3 to group             Adding guest2 to group             Adding guest1 to group         Updating testGROUP     Working on deptGRP3             Adding guest3 to group             Adding guest2 to group             Adding guest1 to group         Updating deptGRP3     Working on deptGRP2             Adding guest1 to group             Adding guest2 to group             Adding guest3 to group         Updating deptGRP2     Working on deptGRP1             Adding guest1 to group             Adding guest3 to group             Adding guest2 to group         Updating deptGRP1 Finished adding users from non-primary groups Updating Primary Groups     User guestzameer17 missing gidnumber attribute. Cant determine primary group     User guestzameer19 missing gidnumber attribute. Cant determine primary group     User guestzameer16 missing gidnumber attribute. Cant determine primary group     User guestzameer15 missing gidnumber attribute. Cant determine primary group     User guestzameer12 missing gidnumber attribute. Cant determine primary group     User guestzameer13 missing gidnumber attribute. Cant determine primary group     User guestzameer20 missing gidnumber attribute. Cant determine primary group     User guestzameer21 missing gidnumber attribute. Cant determine primary group     User guestzameer25 missing gidnumber attribute. Cant determine primary group     User guest11 missing gidnumber attribute. Cant determine primary group     User guestzameer24 missing gidnumber attribute. Cant determine primary group     User guestzameer23 missing gidnumber attribute. Cant determine primary group     User guestzameer22 missing gidnumber attribute. Cant determine primary group     User guestzameer11 missing gidnumber attribute. Cant determine primary group     User guestzameer10 missing gidnumber attribute. Cant determine primary group     User pham_Khanh2 missing gidnumber attribute. Cant determine primary group     User guestzameer missing gidnumber attribute. Cant determine primary group     User pham_Khanh1 missing gidnumber attribute. Cant determine primary group     User pham_Khanh missing gidnumber attribute. Cant determine primary group     User guest2 missing gidnumber attribute. Cant determine primary group     User guest3 missing gidnumber attribute. Cant determine primary group     User guestzameer1 missing gidnumber attribute. Cant determine primary group     User guestzameer2 missing gidnumber attribute. Cant determine primary group     User guestzameer7 missing gidnumber attribute. Cant determine primary group     User guestzameer8 missing gidnumber attribute. Cant determine primary group     User guestzameer5 missing gidnumber attribute. Cant determine primary group     User guestzameer4 missing gidnumber attribute. Cant determine primary group     User guestzameer3 missing gidnumber attribute. Cant determine primary group     User guest1 missing gidnumber attribute. Cant determine primary group Executing User Manager Hooks     Updating User guestzameer17...done     Updating User guestzameer19...done     Updating User guestzameer16...done     Updating User guestzameer15...done     Updating User guestzameer12...done     Updating User guestzameer13...done     Updating User guestzameer20...done     Updating User guestzameer21...done     Updating User guestzameer25...done     Updating User guest11...done     Updating User guestzameer24...done     Updating User guestzameer23...done     Updating User guestzameer22...done     Updating User guestzameer11...done     Updating User guestzameer10...done     Updating User pham_Khanh2...done     Updating User guestzameer...done     Updating User pham_Khanh1...done     Updating User pham_Khanh...done     Updating User guest2...done     Updating User guest3...done     Updating User guestzameer1...done     Updating User guestzameer2...done     Updating User guestzameer7...done     Updating User guestzameer8...done     Updating User guestzameer5...done     Updating User guestzameer4...done     Updating User guestzameer3...done     Updating User guest1...done     Updating Group testGROUP...done     Updating Group deptGRP3...done     Updating Group deptGRP2...done     Updating Group deptGRP1...done Finished

 

Return to Documentation Home I Return to Sangoma Support