Questions tagged [ldap]

Lightweight Directory Access Protocol (LDAP) for reading and editing directories over an IP network

The Lightweight Directory Access Protocol is an application protocol for reading and editing directories that follow the Directory Information Model over an IP network using unsecured TCP/IP, TLS or SSL. LDAP is a binary protocol described in terms of ASN.1 and transmitted using ASN.1 Basic Encoding Rules (BER).

A directory is a hierarchical collection of records known as a Directory Information Base, or when visualized, as a Directory Information Tree. The directory model should be visualized as an upside-down tree, much like a UNIX file-system. The root of the Directory Information Tree is known as the prefix or namingContext. The namingContext, supported versions of the protocol, supported features and supported controls (operation semantics modifiers) and other information can be discovered by querying the root DSE, though the information might be protected by access controls.

Clients (Directory User Agents) issue requests to the directory server (Directory System Agent) and the directory server returns an appropriate response, which could be success (which might include requested entries from the Directory Information Tree in the case of a search), or an indication of success or failure of a search, add, modify, delete, moddn (rename) or extended operation. Controls might be used to alter the semantics of a request, for example, a sort control might be included with a search request to sort the returned entries (known as a server-side sort). Without the inclusion of the sort control in the search request, entries returned from search operations are not ordered, and must not be ordered. Clients must not expect that entries are ordered in any way.

Modern directory servers support a high-speed replication mechanism which is not defined by the standard, though there have been some attempts at defining a replication standard. Therefore, replication and the protocol used for replication is vendor-specific. If data must be synchronized between directory servers from different vendors, a synchronization device must be used.

Most modern programming languages have an LDAP SDK, including Java, PHP, Perl, C/C++, and others. Directory Server software usually comes equipped with a set of command line tools such as ldapsearch, ldapmodify, and others.

Directory Information Trees accessed by the LDAP protocol are used in authentication and authorization applications, configuration storage, profile storage, public-key infrastructure and other applications requiring:

  • speed of access
  • a small, light-weight protocol
  • A simple programming model
  • easily configured replication, redundancy, and failover

Questions that are specific to Active Directory should not be tagged with the LDAP tag unless the question is specifically related to the protocol or the Directory Information Model. Active Directory provides an LDAP interface, but that interface does not fully implement the LDAP standard, and deviates from it in important ways. Therefore, there are questions that can be answered specific to Active Directory that are not applicable to standards-compliant LDAP servers and vice versa. Correctly tagging a questions will result in a higher probability of an accurate, timely response.

2728 questions
21
votes
4 answers

How to authenticate users in nested groups in Apache LDAP?

I've working LDAP authentication with the following setup AuthName "whatever" AuthType Basic AuthBasicProvider ldap AuthLDAPUrl …
mark
  • 1,516
  • 5
  • 21
  • 33
21
votes
2 answers

What permissions are required for enumerating users groups in Active Directory

I have a .net web application which needs to obtain the groups a user is a member of in Active Directory. Todo this I am using the memberOf attribute on the users records. I need to know the permissions required to read this attribute on all users…
Adam Jenkin
  • 323
  • 1
  • 2
  • 5
20
votes
2 answers

How do I configure Reverse Group Membership Maintenance on an openldap server? (memberOf)

I am currently working on integrating LDAP authentication into a system and I would like to restrict access based on LDAP group. The only way to do this is via a search filter and therefore I believe my only option to be the use of the "memberOf"…
emills
  • 774
  • 1
  • 4
  • 15
20
votes
2 answers

What is [PSH, ACK] doing during my connection to a global catalog server?

A linux server of mine is trying to establish a LDAPS connection to a global catalog server and the connection is getting dropped (presumably by the GC side). For the purpose of discussion, let's say that 1.1.1.1 is the Linux server and 1.2.3.4 is…
Mike B
  • 11,871
  • 42
  • 107
  • 168
20
votes
3 answers

Some systems cannot connect to ldap via ldaps, but others can, is it the wildcard cert?

When trying to make ldaps connections to my Novel eDirectory 8.8 server, sometimes I have to put TLS_REQCERT never in the client servers ldap.conf file. Obviously, this is a bad idea. The command I run is something like this with credentials that…
David R.
  • 627
  • 3
  • 6
  • 18
20
votes
1 answer

LDAP Structure: dc=example,dc=com vs o=Example

I am relatively new to LDAP, and have seen two types of examples of how to set up your structure. One method is to have the base being: dc=example,dc=com while other examples have the base being o=Example. Continuing along, you can have a group…
Peter Sankauskas
  • 698
  • 6
  • 11
  • 21
20
votes
2 answers

The Story of secure user-authentication in squid

once upon a time, there was a beautiful warm virtual-jungle in south america, and a squid server lived there. here is an perceptual image of the network: | | …
Isaac
  • 581
  • 2
  • 12
  • 25
19
votes
2 answers

is there a way to do an ldap ping?

Is there a way to ping and ldap server? I have seen ldapsearch and ldapwhoami but would appreciate something a bit more like ping. Essentially we have a bip address in front of a selection of LDAP servers and are looking to confirm which one we…
naffcat
  • 207
  • 1
  • 2
  • 3
19
votes
2 answers

Setting Mercurial with Active Directory authentication and authorisation

I am evaluating the possibilities of moving my organisation to Mercurial, however I am stumbling on two basic requirements which I can't find proper pointers to. How do I set up Mercurial's central repository to authenticate users with the central…
jbx
18
votes
1 answer

IPA vs just LDAP for Linux boxes - looking for a comparison

There are few (~30) Linux (RHEL) boxes and I'm looking for centralized and easy managed solution, mostly for control user accounts. I'm familiar with LDAP, and I deployed a pilot of IPA ver2 from Red Hat (==FreeIPA). I understand that in theory IPA…
17
votes
4 answers

Managing access to multiple linux system

A searched for answers but have found nothing on here... Long story short: a non-profit organization is in dire need of modernizing its infrastructure. First thing is to find an alternatives to managing user accounts on a number of Linux hosts. We…
Swartz
  • 304
  • 5
  • 14
17
votes
2 answers

Configure OpenLDAP with TLS=required

Nowadays, OpenLDAP needs to be configured with ldapmodify cn=config, as describe here. But nowhere I can find how you configure it to only accept TLS traffic. I just confirmed that our server accepts unencrypted traffic (with ldapsearch and…
Halfgaar
  • 8,084
  • 6
  • 45
  • 86
17
votes
3 answers

Paging using ldapsearch

I am searching an LDAP directory that has a much larger number of results than the sizelimit currently set,500, by slapd.conf that for all intents and purposes cannot be changed) My idea was to keep running ldapsearch but from a different offset…
steve-gregory
  • 303
  • 1
  • 2
  • 8
17
votes
1 answer

LDAP: How to add a person to an existing group?

Using command-line (Linux) or LDIF, I could find many examples of creating a new group and defining its members, but no examples of this: How to add a user to an existing group? Let's say the person also already exists. For instance adding user…
Nicolas Raoul
  • 1,334
  • 7
  • 22
  • 43
17
votes
6 answers

Web interface for LDAP management

We are going to implement LDAP for centralized authentication in our organization. Which is the best simple LDAP management tool available ?
nitins
  • 2,579
  • 15
  • 44
  • 68