Solved

Perl Net::LDAP doesn't provide uidnumber under Sun Solaris

Posted on 2011-09-06
3
791 Views
Last Modified: 2013-12-27
Dear experts,

I am using the Net::LDAP module on a Sun Solaris 64-bit Sparc machiune under perl version 5.13 to try to look up a numeric user ID and obtain the corresponding character login ID.  Everything works fine if I do the search based on the character login ID, but not if I do it based on the numeric UID.  I'm able to bind successfully, then use the instruction
$msg = $ldap -> search
    (
        base => "ou=People, dc=Enterprise, dc=mycompany, dc=com",
        filter => "uid=$parm_login_ID"
    );

But the attribute uidnumber does not appear in the list of values returned for a matching character login ID value.  I get no hits when I change the above instruction to "uidnumber=$parm_numeric_UID".  According to on-line reference materials, the attribute uidnumber is supposed to be part of the same database as is uid, viz. People, but it doesn't show up anywhere.  Is there anything wrong with my program, or did my company configure its local ldap database such that uidnumber is simply not an available attribute?

Thank you!
0
Comment
Question by:fireblood
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 9

Accepted Solution

by:
parparov earned 500 total points
ID: 36491868
You should investigate the schema that your LDAP operates upon.

Then you can do something like this:
            my $schema = $ldap->schema;
            # get objectClasses
            @ocs = $schema->all_objectclasses;
            # Get the attributes
            @atts = $schema->all_attributes;

Open in new window

Consult Net::LDAP::Schema manual page for more information about available methods.
0
 

Author Closing Comment

by:fireblood
ID: 36544824
Thank you very much!  I was able to run your code on my system and it worked in showing me aspects of the LDAP configuration in my particular installation that I needed to pursue.  Once I drilled down through all the levels I was able to find the information I needed.  The key was the all_objectclasses method, which I didn't know about before.  Thanks again for a good solution.
0
 
LVL 9

Expert Comment

by:parparov
ID: 36545065
You're welcome
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
Azure Functions is a solution for easily running small pieces of code, or "functions," in the cloud. This article shows how to create one of these functions to write directly to Azure Table Storage.
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to moveā€¦
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question