- Name Service Switch
-
The Name Service Switch (NSS) is a facility in Unix-like operating systems that provides a variety of sources for common configuration databases and name resolution mechanisms. Such source databases include local operating system files, for example, /etc/passwd, /etc/group, and /etc/hosts, the Domain Name System (DNS), the Network Information Service (NIS), LDAP, and others.
Contents
nsswitch.conf
A system administrator usually configures the operating system's name services using the file /etc/nsswitch.conf. This lists databases (such as passwd, shadow and group) and one or more sources for obtaining that information. Examples for sources are files for local files, ldap for the Lightweight Directory Access Protocol, nis for the Network Information Service, nisplus for NIS+, wins for Windows Internet Name Service).
The nsswitch.conf file has line entries for each service consisting of a database name in the first field, terminated by a colon, and a list of possible source databases mechanisms in the second field. An example file is the following:
passwd: files ldap shadow: files group: files ldap hosts: dns nis files ethers: files nis netmasks: files nis networks: files nis protocols: files nis rpc: files nis services: files nis automount: files aliases: files
The order of the services listed determines in which order NSS will attempt to use those services to resolve queries on the specified database.
Implementation
The service switch facility is implemented within the C library, so that calls to functions such as getent resolve to the appropriate NSS module. This assures that existing applications that use the NSS routines do not require any changes to operate with NSS.
History
Earlier Unix-like systems, with the notable exception of Ultrix, either accessed only the configuration files or had hard-coded rules for files or databases to access; Ultrix offered nearly identical functionality to the Name Service Switch, using the configuration file /etc/svc.conf.
Sun Microsystems first developed NSS for their Solaris operating system, but subsequently programmers ported it to many other operating systems including FreeBSD, NetBSD, GNU/Linux, HP-UX, IRIX and AIX.
See also
- Passwd (database)
- Shadow (database)
- Group (database)
- Pluggable Authentication Modules
- BSD Authentication
- Name server
External links
- NetBSD File Formats Manual : name-service switch configuration file –
- Name Service Switch implementation in the GNU C Library
- NSS module supporting LDAP: nss_ldap
- Another NSS module supporting LDAP: nss-ldapd
- NSS module supporting AFS: nss_afs
Categories:- Unix
- Domain name system
- Directory services
Wikimedia Foundation. 2010.