Solved

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

Posted on 2011-09-06
3
796 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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Never store passwords in plain text or just their hash: it seems a no-brainier, but there are still plenty of people doing that. I present the why and how on this subject, offering my own real life solution that you can implement right away, bringin…
When it comes to protecting Oracle Database servers and systems, there are a ton of myths out there. Here are the most common.
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.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…

615 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