Skip Navigation Links | |
Exit Print View | |
Working With Naming and Directory Services in Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library |
Part I About Naming and Directory Services
1. Naming and Directory Services (Overview)
2. Name Service Switch (Overview)
4. Setting Up Oracle Solaris Active Directory Clients (Tasks)
How the nss_ad Naming Service Module Retrieves Data From AD
Part II NIS Setup and Administration
5. Network Information Service (Overview)
6. Setting Up and Configuring NIS (Tasks)
9. Introduction to LDAP Naming Services (Overview)
10. Planning Requirements for LDAP Naming Services (Tasks)
11. Setting Up Oracle Directory Server Enterprise Edition With LDAP Clients (Tasks)
12. Setting Up LDAP Clients (Tasks)
13. LDAP Troubleshooting (Reference)
14. LDAP Naming Service (Reference)
The Oracle Solaris client must be joined to an AD domain before any of the AD interoperability functionality, including nss_ad, can be used. The kclient utility is used to join the client to AD. During the join operation, kclient configures Kerberos v5 on the client. Thereafter, nss_ad can be used to resolve naming service requests by specifying ad as a source in the nsswitch.conf file for the supported databases. The nss_ad module uses host credentials to look up naming service information in AD.
The nss_ad module uses DNS server records to auto-discover AD directory servers, such as domain controllers and global catalog servers. Therefore, DNS must be properly configured on the Oracle Solaris client. The nss_ad module also uses the LDAP v3 protocol to access naming information from AD servers. The AD server schema requires no modification because nss_ad works with the native AD schema.
The nss_ad module does not currently support logins of Windows users onto an Oracle Solaris system. Until such logins are supported, such users should continue to log in by using traditional back ends such as nis and ldap.
The idmap and svc:/system/name-service/cache services must be enabled to use nss_ad. The nss_ad module uses the idmap service to map between Windows security identifiers (SIDs), UNIX user identifiers (UIDs), and group identifiers (GIDs).
Ensure that all AD user and group names are qualified with domain names such as user@domain or group@domain. For example, getpwnam(dana) will fail, but getpwnam(dana@domain) will succeed, provided that dana is a valid Windows user in the domain named domain.
The following additional rules also pertain to the nss_ad module:
Like AD, nss_ad performs case-insensitive matching of user and group names.
Only use the nss_ad module in UTF-8 locales or in domains where users and groups have only ASCII characters in their names.
Well-known SIDs are a set of SIDs that identify generic users or generic groups in the Windows world. They are not domain specific and their values remain constant across all Windows operating systems. The names of well-known SIDs are qualified with the string BUILTIN, for example, Remote Desktop Users@BUILTIN.
The nss_ad module does not support enumeration. Therefore, the getpwent() and getgrent() interfaces and commands that use them such as getent passwd and getent group cannot retrieve information from AD.
The nss_ad module currently supports only the passwd and group files. nss_ad does not support other naming service databases that follow the passwd entry, such as audit_user and user_attr. If the ad back end is processed (based on the configuration), it returns NOT FOUND for these databases.
The nss_ad module requires that the Oracle Solaris client use DNS for host resolution.
See How to Enable a DNS Client for instructions.
Note - The AD domain name must be specified either by means of the domain directive or as the first item in the list specified by the search directive.
If both directives are specified, then whichever is last takes precedence. This is required for the idmap auto-discovery feature to work properly.
In the following example, the dig commands verify that the AD server can be resolved by using its name and IP address.
# dig -x 192.168.11.22 +short myserver.ad.example # dig myserver.ad.example +short 192.168.11.22
# svccfg -s svc:/system/name-service/switch svc:/system/name-service/switch> setprop config/host = astring: "files dns" svc:/system/name-service/switch> select system/name-service/switch:default svc:/system/name-service/switch:default> refresh svc:/system/name-service/switch:default> quit
Note - To include additional naming services such as nis or ldap for host resolution, add them after dns.
For example:
# svcs svc:/network/dns/client STATE STIME FMRI online Oct_14 svc:/network/dns/client:default
For example:
# /usr/sbin/kclient -T ms_ad
# svccfg -s svc:/system/name-service/switch svc:/system/name-service/switch> setprop config/password = astring: "files nis ad" svc:/system/name-service/switch> setprop config/group = astring: "files nis ad" svc:/system/name-service/switch> select system/name-service/switch:default svc:/system/name-service/switch:default> refresh svc:/system/name-service/switch:default> quit
# svcadm enable idmap
# svcadm refresh name-service/switch
Note - The nscd module automatically restarts if necessary, whenever name service switch is refreshed.
For example:
# getent passwd 'test_user@example' test_user@example:x:2154266625:2154266626:test_user:: # getent passwd 2154266625 test_user@example:x:2154266625:2154266626:test_user::