slapo-dynlist(5)


NAME

   slapo-dynlist - Dynamic List overlay to slapd

SYNOPSIS

   /etc/ldap/slapd.conf

DESCRIPTION

   The  dynlist overlay to slapd(8) allows expansion of dynamic groups and
   more.  Any time an entry with a specific objectClass  (defined  in  the
   overlay   configuration)   is   being  returned,  the  LDAP  URI-valued
   occurrences of a  specific  attribute  (also  defined  in  the  overlay
   configuration)  are  expanded  into  the corresponding entries, and the
   values of the attributes listed in the URI are added  to  the  original
   entry.  No recursion is allowed, to avoid potential infinite loops.

   Since the resulting entry is dynamically constructed, it does not exist
   until it is  constructed  while  being  returned.   As  a  consequence,
   dynamically  added attributes do not participate in the filter matching
   phase of the search request handling.  In other  words,  filtering  for
   dynamically added attributes always fails.

   The   resulting  entry  must  comply  with  the  LDAP  data  model,  so
   constraints are enforced.  For example, if a SINGLE-VALUE attribute  is
   listed, only the first value found during the list expansion appears in
   the final entry.  The above described behavior  is  disabled  when  the
   manageDSAit  control (RFC 3296) is used.  In that case, the contents of
   the dynamic group entry is returned;  namely,  the  URLs  are  returned
   instead of being expanded.

CONFIGURATION

   The  config directives that are specific to the dynlist overlay must be
   prefixed by dynlist-, to  avoid  potential  conflicts  with  directives
   specific to the underlying database or to other stacked overlays.

   overlay dynlist
          This directive adds the dynlist overlay to the current database,
          or to the frontend, if used before any  database  instantiation;
          see slapd.conf(5) for details.

   This  slapd.conf  configuration  option  is  defined  for  the  dynlist
   overlay. It may have multiple occurrences, and it must appear after the
   overlay directive.

   dynlist-attrset  <group-oc> [<URI>] <URL-ad> [[<mapped-ad>:]<member-ad>
   ...]
          The value group-oc is the name of the objectClass that  triggers
          the dynamic expansion of the data.

          The  optional  URI  restricts expansion only to entries matching
          the DN, the scope and the filter portions of the URI.

          The value URL-ad is the name of  the  attributeDescription  that
          contains  the  URI  that  is expanded by the overlay; if none is
          present, no  expansion  occurs.   If  the  intersection  of  the
          attributes  requested  by  the search operation (or the asserted
          attribute for compares) and the attributes listed in the URI  is
          empty,  no expansion occurs for that specific URI.  It must be a
          subtype of labeledURI.

          The value member-ad is optional; if present, the overlay behaves
          as  a  dynamic  group:  this  attribute  will list the DN of the
          entries resulting from the internal search.  In this  case,  the
          attrs  portion  of  the  URIs  in  the  URL-ad attribute must be
          absent, and the DNs  of  all  the  entries  resulting  from  the
          expansion  of  the  URIs are listed as values of this attribute.
          Compares that assert the value of  the  member-ad  attribute  of
          entries  with  group-oc  objectClass  apply  as if the DN of the
          entries resulting from the expansion of the URI were present  in
          the group-oc entry as values of the member-ad attribute.

          Alternatively,   mapped-ad  can  be  used  to  remap  attributes
          obtained through expansion.  member-ad attributes are not filled
          by  expanded  DN,  but  are  remapped  as  mapped-ad attributes.
          Multiple mapping statements can be used.

   The dynlist overlay may be used with any  backend,  but  it  is  mainly
   intended  for  use  with  local  storage  backends.   In  case  the URI
   expansion is very resource-intensive and occurs frequently  with  well-
   defined  patterns,  one should consider adding a proxycache later on in
   the overlay stack.

AUTHORIZATION

   By default the expansions are  performed  using  the  identity  of  the
   current  LDAP  user.   This  identity  may be overridden by setting the
   dgIdentity attribute in the group's entry to the  DN  of  another  LDAP
   user.  In that case the dgIdentity will be used when expanding the URIs
   in the object.  Setting the dgIdentity to  a  zero-length  string  will
   cause  the  expansions  to  be  performed  anonymously.   Note that the
   dgIdentity attribute is defined in the dyngroup schema, and this schema
   must be loaded before the dgIdentity authorization feature may be used.
   If the dgAuthz attribute is also present  in  the  group's  entry,  its
   values  are used to determine what identities are authorized to use the
   dgIdentity to expand the group.  Values of the dgAuthz  attribute  must
   conform to the (experimental) OpenLDAP authz syntax.

EXAMPLE

   This  example  collects  all  the  email addresses of a database into a
   single entry; first of all, make  sure  that  slapd.conf  contains  the
   directives:

       include /path/to/dyngroup.schema
       # ...

       database <database>
       # ...

       overlay dynlist
       dynlist-attrset groupOfURLs memberURL

   and that slapd loads dynlist.la, if compiled as a run-time module; then
   add to the database an entry like

       dn: cn=Dynamic List,ou=Groups,dc=example,dc=com
       objectClass: groupOfURLs
       cn: Dynamic List
       memberURL: ldap:///ou=People,dc=example,dc=com?mail?sub?(objectClass=person)

   If no <attrs> are provided in the URI, all (non-operational) attributes
   are collected.

   This  example  implements  the  dynamic  group  feature  on  the member
   attribute:

       include /path/to/dyngroup.schema
       # ...

       database <database>
       # ...

       overlay dynlist
       dynlist-attrset groupOfURLs memberURL member

   A dynamic group with dgIdentity authorization could be created with  an
   entry like

       dn: cn=Dynamic Group,ou=Groups,dc=example,dc=com
       objectClass: groupOfURLs
       objectClass: dgIdentityAux
       cn: Dynamic Group
       memberURL: ldap:///ou=People,dc=example,dc=com??sub?(objectClass=person)
       dgIdentity: cn=Group Proxy,ou=Services,dc=example,dc=com

FILES

   /etc/ldap/slapd.conf
          default slapd configuration file

SEE ALSO

   slapd.conf(5), slapd-config(5), slapd(8).  The slapo-dynlist(5) overlay
   supports dynamic configuration via back-config.

ACKNOWLEDGEMENTS

   This module was written in  2004  by  Pierangelo  Masarati  for  SysNet
   s.n.c.

   Attribute remapping was contributed in 2008 by Emmanuel Dreyfus.





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.