LDAP(1)                         User Commands                        LDAP(1)
NAME
       ldap - LDAP as a naming repository
DESCRIPTION
       LDAP refers to Lightweight Directory Access Protocol, which is an
       industry standard for accessing directory servers. By initializing
       the client using 
ldapclient(8) and using the keyword 
ldap in the name
       service switch file, 
/etc/nsswitch.conf, Solaris clients can obtain
       naming information from an LDAP server. Information such as
       usernames, hostnames, and passwords are stored on the LDAP server in
       a Directory Information Tree or 
DIT. The 
DIT consists of entries
       which in turn are composed of attributes. Each attribute has a type
       and one or more values.
       Solaris LDAP clients use the LDAP v3 protocol to access naming
       information from LDAP servers. The LDAP server must support the
       object classes and attributes defined in 
RFC2307bis (draft), which
       maps the naming service model on to LDAP. As an alternate to using
       the schema defined in 
RFC2307bis (draft), the system can be
       configured to use other schema sets and the schema mapping feature is
       configured to map between the two. Refer to the 
System Administration       Guide: Naming and Directory Services (DNS, NIS, and LDAP) for more
       details.
       The 
ldapclient(8) utility can make a Solaris machine an LDAP client
       by setting up the appropriate directories, files, and configuration
       information.  The LDAP client caches this configuration information
       in local cache files.  This configuration information is accessed
       through the 
ldap_cachemgr(8) daemon. This daemon also refreshes the
       information in the configuration files from the LDAP server,
       providing better performance and security. The 
ldap_cachemgr must run
       at all times for the proper operation of the naming services.
       There are two types of configuration information, the information
       available through a profile, and the information configured per
       client. The profile contains all the information as to how the client
       accesses the directory. The credential information for proxy user is
       configured on a per client basis and is not downloaded through the
       profile.
       The profile contains server-specific parameters that are required by
       all clients to locate the servers for the desired LDAP domain. This
       information could be the server's IP address and the search base
       Distinguished Name (DN), for instance. It is configured on the client
       from the default profile during client initialization and is
       periodically updated by the 
ldap_cachemgr daemon when the expiration
       time has elapsed.
       Client profiles can be stored on the LDAP server and can be used by
       the 
ldapclient utility to initialize an LDAP client. Using the client
       profile is the easiest way to configure a client machine. See       
ldapclient(8).
       Credential information includes client-specific parameters that are
       used by a client. This information could be the Bind DN (LDAP "login"
       name) of the client and the password. If these parameters are
       required, they are manually defined during the initialization through       
ldapclient(8).
       The naming information is stored in containers on the LDAP server. A
       container is a non-leaf entry in the DIT that contains naming service
       information.  Containers are similar to maps in NIS. A default
       mapping between the NIS databases and the containers in LDAP is
       presented below. The location of these containers as well as their
       names can be overridden through the use of 
serviceSearchDescriptors.
       For more information, see 
ldapclient(8).
       +-----------+-----------------+---------------------------+
       | Database  |  Object Class   |         Container         |
       +-----------+-----------------+---------------------------+
       |passwd     | posixAccount    | ou=people,dc=...          |
       |           | shadowAccount   |                           |
       +-----------+-----------------+---------------------------+
       |group      | posixGroup      | ou=Group,dc=...           |
       +-----------+-----------------+---------------------------+
       |services   | ipService       | ou=Services,dc=...        |
       +-----------+-----------------+---------------------------+
       |protocols  | ipProtocol      | ou=Protocols,dc=...       |
       +-----------+-----------------+---------------------------+
       |rpc        | oncRpc          | ou=Rpc,dc=...             |
       +-----------+-----------------+---------------------------+
       |hosts      | ipHost          | ou=Hosts,dc=...           |
       |ipnodes    | ipHost          | ou=Hosts,dc=...           |
       +-----------+-----------------+---------------------------+
       |ethers     | ieee802Device   | ou=Ethers,dc=...          |
       +-----------+-----------------+---------------------------+
       |bootparams | bootableDevice  | ou=Ethers,dc=...          |
       +-----------+-----------------+---------------------------+
       |networks   | ipNetwork       | ou=Networks,dc=...        |
       |netmasks   | ipNetwork       | ou=Networks,dc=...        |
       +-----------+-----------------+---------------------------+
       |netgroup   | nisNetgroup     | ou=Netgroup,dc=...        |
       +-----------+-----------------+---------------------------+
       |aliases    | mailGroup       | ou=Aliases,dc=...         |
       +-----------+-----------------+---------------------------+
       |publickey  | nisKeyObject    |                           |
       +-----------+-----------------+---------------------------+
       |generic    | nisObject       | nisMapName=...,dc=...     |
       +-----------+-----------------+---------------------------+
       |printers   | printerService  | ou=Printers,dc=...        |
       +-----------+-----------------+---------------------------+
       |auth_attr  | SolarisAuthAttr | ou=SolarisAuthAttr,dc=... |
       +-----------+-----------------+---------------------------+
       |prof_attr  | SolarisProfAttr | ou=SolarisProfAttr,dc=... |
       +-----------+-----------------+---------------------------+
       |exec_attr  | SolarisExecAttr | ou=SolarisProfAttr,dc=... |
       +-----------+-----------------+---------------------------+
       |user_attr  | SolarisUserAttr | ou=people,dc=...          |
       +-----------+-----------------+---------------------------+
       The security model for clients is defined by a combination of the
       credential level to be used, the authentication method, and the PAM
       modules to be used.  The credential level defines what credentials
       the client should use to authenticate to the directory server, and
       the authentication method defines the method of choice. Both these
       can be set with multiple values. The Solaris LDAP supports the
       following values for credential level :         
anonymous         proxy         self       The Solaris LDAP supports the following values for authentication
       method:         
none         simple         sasl/CRAM-MD5         sasl/DIGEST-MD5         sasl/GSSAPI         tls:simple         tls:sasl/CRAM-MD5         tls:sasl/DIGEST-MD5       When the credential level is configured as 
self, DNS must be
       configured and the authentication method must be 
sasl/GSSAPI. The       
hosts and 
ipnodes in 
/etc/nsswitch.conf must be configured to use
       DNS, for example 
hosts: dns files and 
ipnodes: dns files.       
sasl/GSSAPI automatically uses 
GSSAPI confidentiality and integrity
       options, if they are configured on the directory server.
       The credential level of 
self enables per-user naming service lookups,
       or lookups that use the 
GSSAPI credentials of the user when
       connecting to the directory server. Currently the only 
GSSAPI       mechanism supported in this model is Kerberos V5. Kerberos must be
       configured before you can use this credential level. See 
kerberos(7)       for details.
       More protection can be provided by means of access control, allowing
       the server to grant access for certain containers or entries. Access
       control is specified by Access Control Lists (ACLs) that are defined
       and stored in the LDAP server.  The Access Control Lists on the LDAP
       server are called Access Control Instructions (ACIs) by the SunOne
       Directory Server. Each ACL or ACI specifies one or more directory
       objects, for example, the 
cn attribute in a specific container, one
       or more clients to whom you grant or deny access, and one or more
       access rights that determine what the clients can do to or with the
       objects. Clients can be users or applications. Access rights can be
       specified as read and write, for example. Refer to the 
System       Administration Guide: Naming and Directory Services (DNS, NIS, and       LDAP) regarding the restrictions on ACLs and ACIs when using LDAP as
       a naming repository.
       A sample 
nsswitch.conf(5) file called 
nsswitch.ldap is provided in
       the 
/etc directory. This is copied to 
/etc/nsswitch.conf by the       
ldapclient(8) utility. This file uses LDAP as a repository for the
       different databases in the 
nsswitch.conf file.
       The following is a list of the user commands related to LDAP:       
idsconfig(8)                         Prepares a SunOne Directory Server to be ready to
                         support Solaris LDAP clients.       
ldapaddent(8)                         Creates LDAP entries from corresponding 
/etc files.       
ldapclient(8)                         Initializes LDAP clients, or generates a
                         configuration profile to be stored in the
                         directory.       
ldaplist(1)                         Lists the contents of the LDAP naming space.
FILES
       /var/ldap/ldap_client_cred       /var/ldap/ldap_client_file                                     Files that contain the LDAP
                                     configuration of the client. Do not
                                     manually modify these files. Their
                                     content is not guaranteed to be human
                                     readable. Use 
ldapclient(8) to update
                                     them.       
/etc/nsswitch.conf                                     Configuration file for the name-service
                                     switch.       
/etc/nsswitch.ldap                                     Sample configuration file for the name-
                                     service switch configured with LDAP and
                                     files.       
/etc/pam.conf                                     PAM framework configuration file.
SEE ALSO
       ldaplist(1), 
nsswitch.conf(5), 
pam.conf(5), 
kerberos(7),       
pam_authtok_check(7), 
pam_authtok_get(7), 
pam_authtok_store(7),       
pam_dhkeys(7), 
pam_ldap(7), 
pam_passwd_auth(7), 
pam_unix_account(7),       
pam_unix_auth(7), 
pam_unix_session(7), 
idsconfig(8),       
ldap_cachemgr(8), 
ldapaddent(8), 
ldapclient(8)       System Administration Guide: Naming and Directory Services (DNS, NIS,       and LDAP)NOTES
       The 
pam_unix(7) module is no longer supported. Similar functionality
       is provided by 
pam_authtok_check(7), 
pam_authtok_get(7),       
pam_authtok_store(7), 
pam_dhkeys(7), 
pam_passwd_auth(7),       
pam_unix_account(7), 
pam_unix_auth(7), and 
pam_unix_session(7).
                                March 6, 2017                        LDAP(1)