LDAPURL(1) General Commands Manual LDAPURL(1)

# [NAME](#NAME)

ldapurl - LDAP URL formatting tool

# [SYNOPSIS](#SYNOPSIS)

**ldapurl** \[**-a** attrs] \[**-b searchbase]** \[**-e** \[**!**]***ext***\[**=*extparam***]] \[**-E** \[**!**]***ext***\[**=*extparam***]] \[**-f filter]** \[**-H ldapuri]** \[**-h ldaphost]** \[**-p ldapport]** \[**-s** {**base**|**one**|**sub**|**children**}] \[**-S scheme]**

# [DESCRIPTION](#DESCRIPTION)

*ldapurl* is a command that allows one to either compose or decompose LDAP URIs.

When invoked with the **-H** option, **ldapurl** extracts the components of the *ldapuri* option argument, unescaping hex-escaped chars as required. It basically acts as a frontend to the [**ldap\_url\_parse**(3)](/man/enterprise-packages/openldap-2.5/ldap_url_parse.3) call. Otherwise, it builds an LDAP URI based on the components passed with the appropriate options, performing the inverse operation. Option **-H** is incompatible with options **-a**, **-b**, **-E**, **-f**, **-H**, **-h**, **-p**, **-S**, and **-s**.

# [OPTIONS](#OPTIONS)

[**-a attrs**](#a)

Set a comma-separated list of attribute selectors.

[**-b searchbase**](#b)

Set the *searchbase*.

[**-e** \[**!**\]***ext***\[**=*extparam***\]](#e)

Specify general extensions with **-e** ´**!**´ indicates criticality.

General extensions:

```


  [!]assert=<filter>    (an RFC 4515 Filter)


  !authzid=<authzid>    ("dn:<dn>" or "u:<user>")


  [!]bauthzid           (RFC 3829 authzid control)


  [!]chaining[=<resolve>[/<cont>]]


  [!]manageDSAit


  [!]noop


  ppolicy


  [!]postread[=<attrs>] (a comma-separated attribute list)


  [!]preread[=<attrs>]  (a comma-separated attribute list)


  [!]relax


  sessiontracking[=<username>]


  abandon,cancel,ignore (SIGINT sends abandon/cancel,


  or ignores response; if critical, doesn't wait for SIGINT.


  not really controls)
```

[**-E** \[**!**\]***ext***\[**=*extparam***\]](#E)

Set URL extensions; incompatible with **-H**.

[**-f filter**](#f)

Set the URL filter. No particular check on conformity with RFC 4515 LDAP filters is performed, but the value is hex-escaped as required.

[**-H ldapuri**](#H)

Specify URI to be exploded.

[**-h ldaphost**](#h)

Set the host.

[**-p ldapport**](#p)

Set the TCP port.

[**-S scheme**](#S)

Set the URL scheme. Defaults for other fields, like *ldapport*, may depend on the value of *scheme*.

[**-s** {**base**|**one**|**sub**|**children**}](#s)

Specify the scope of the search to be one of **base**, **one**, **sub**, or **children** to specify a base object, one-level, subtree, or children search. The default is **sub**. Note: **children** scope requires LDAPv3 subordinate feature extension.

# [OUTPUT FORMAT](#OUTPUT_FORMAT)

If the **-H** option is used, the *ldapuri* supplied is exploded in its components, which are printed to standard output in an LDIF-like form.

Otherwise, the URI built using the values passed with the other options is printed to standard output.

# [EXAMPLE](#EXAMPLE)

The following command:

```


    ldapurl -h ldap.example.com -b dc=example,dc=com -s sub -f "(cn=Some One)"
```

returns

```


    ldap://ldap.example.com:389/dc=example,dc=com??sub?(cn=Some%20One)
```

The command:

```


    ldapurl -H ldap://ldap.example.com:389/dc=example,dc=com??sub?(cn=Some%20One)
```

returns

```


    scheme: ldap


    host: ldap.example.com


    port: 389


    dn: dc=example,dc=com


    scope: sub


    filter: (cn=Some One)
```

# [DIAGNOSTICS](#DIAGNOSTICS)

Exit status is zero if no errors occur. Errors result in a non-zero exit status and a diagnostic message being written to standard error.

# [SEE ALSO](#SEE_ALSO)

[**ldap**(3)](/man/enterprise-packages/openldap-2.5/ldap.3), [**ldap\_url\_parse**(3)](/man/enterprise-packages/openldap-2.5/ldap_url_parse.3),

# [AUTHOR](#AUTHOR)

The OpenLDAP Project &lt;http://www.openldap.org/&gt;

# [ACKNOWLEDGEMENTS](#ACKNOWLEDGEMENTS)

**OpenLDAP Software** is developed and maintained by The OpenLDAP Project &lt;http://www.openldap.org/&gt;. **OpenLDAP Software** is derived from the University of Michigan LDAP 3.3 Release.

2025/05/22 OpenLDAP 2.5.20

---

Document: ldapurl(1) from openldap-2.5 2.5.20-r6 (Chainguard OS)
Source: https://git.openldap.org/openldap/openldap.git
