Import NetBSD nsswitch.conf(5)
Change-Id: I0464b474d50b39cd6259c492e1fae6fecfd9d984
This commit is contained in:
parent
9b6c0eaf74
commit
c2a43b2200
@ -112,6 +112,7 @@
|
||||
./etc/mtree/NetBSD.dist minix-base
|
||||
./etc/mtree/set.minix-base minix-base
|
||||
./etc/mtree/special minix-base
|
||||
./etc/nsswitch.conf minix-base
|
||||
./etc/openssl minix-base crypto
|
||||
./etc/openssl/certs minix-base crypto
|
||||
./etc/openssl/misc minix-base crypto
|
||||
|
@ -3298,6 +3298,7 @@
|
||||
./usr/man/man5/magic.5 minix-man
|
||||
./usr/man/man5/man.conf.5 minix-man
|
||||
./usr/man/man5/mtree.5 minix-man
|
||||
./usr/man/man5/nsswitch.conf.5 minix-man
|
||||
./usr/man/man5/openssl.cnf.5 minix-man crypto
|
||||
./usr/man/man5/passwd.5 minix-man
|
||||
./usr/man/man5/pkg_install.conf.5 minix-man
|
||||
|
@ -323,6 +323,7 @@ install-etc-files: .PHONY .MAKE check_DESTDIR MAKEDEV
|
||||
${BINOWN} ${BINGRP} ${BINMODE} ${NETBSDSRCDIR}/etc/ ${DESTDIR}/etc/ hosts \
|
||||
${BINOWN} ${BINGRP} ${BINMODE} ${NETBSDSRCDIR}/etc/ ${DESTDIR}/etc/ mk.conf \
|
||||
${BINOWN} ${BINGRP} ${BINMODE} ${NETBSDSRCDIR}/etc/ ${DESTDIR}/etc/ motd \
|
||||
${BINOWN} ${BINGRP} ${BINMODE} ${NETBSDSRCDIR}/etc/ ${DESTDIR}/etc/ nsswitch.conf \
|
||||
${BINOWN} ${BINGRP} ${BINMODE} ${NETBSDSRCDIR}/etc/ ${DESTDIR}/etc/ rc.conf \
|
||||
${BINOWN} ${BINGRP} ${BINMODE} ${NETBSDSRCDIR}/etc/ ${DESTDIR}/etc/ shrc \
|
||||
${BINOWN} ${BINGRP} ${BINMODE} ${NETBSDSRCDIR}/etc/ ${DESTDIR}/etc/ csh.cshrc \
|
||||
|
29
etc/nsswitch.conf
Normal file
29
etc/nsswitch.conf
Normal file
@ -0,0 +1,29 @@
|
||||
# $NetBSD: nsswitch.conf,v 1.6 2009/10/25 00:17:06 tsarna Exp $
|
||||
#
|
||||
# nsswitch.conf(5) -
|
||||
# name service switch configuration file
|
||||
#
|
||||
|
||||
|
||||
# These are the defaults in libc
|
||||
#
|
||||
group: compat
|
||||
group_compat: nis
|
||||
hosts: files dns
|
||||
netgroup: files [notfound=return] nis
|
||||
networks: files
|
||||
passwd: compat
|
||||
passwd_compat: nis
|
||||
shells: files
|
||||
|
||||
|
||||
# List of supported sources for each database
|
||||
#
|
||||
# group: compat, dns, files, nis
|
||||
# group_compat: dns, nis
|
||||
# hosts: dns, files, nis, mdnsd, multicast_dns
|
||||
# netgroup: files, nis
|
||||
# networks: dns, files, nis
|
||||
# passwd: compat, dns, files, nis
|
||||
# passwd_compat: dns, nis
|
||||
# shells: dns, files, nis
|
@ -12,7 +12,7 @@ MAN= \
|
||||
\
|
||||
\
|
||||
\
|
||||
\
|
||||
nsswitch.conf.5 \
|
||||
rc.conf.5 \
|
||||
\
|
||||
\
|
||||
|
272
share/man/man5/nsswitch.conf.5
Normal file
272
share/man/man5/nsswitch.conf.5
Normal file
@ -0,0 +1,272 @@
|
||||
.\" $NetBSD: nsswitch.conf.5,v 1.28 2009/10/25 01:30:48 wiz Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc.
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" This code is derived from software contributed to The NetBSD Foundation
|
||||
.\" by Luke Mewburn.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
.\" POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.Dd October 25, 2009
|
||||
.Dt NSSWITCH.CONF 5
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm nsswitch.conf
|
||||
.Nd name-service switch configuration file
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Nm
|
||||
file specifies how the
|
||||
.Xr nsdispatch 3
|
||||
(name-service switch dispatcher) routines in the C library should operate.
|
||||
.Pp
|
||||
The configuration file controls how a process looks up various databases
|
||||
containing information regarding hosts, users (passwords), groups,
|
||||
netgroups, etc.
|
||||
Each database comes from a source (such as local files, DNS, and
|
||||
.Tn NIS ) ,
|
||||
and the order to look up the sources is specified in
|
||||
.Nm nsswitch.conf .
|
||||
.Pp
|
||||
Each entry in
|
||||
.Nm
|
||||
consists of a database name, and a space separated list of sources.
|
||||
Each source can have an optional trailing criterion that determines
|
||||
whether the next listed source is used, or the search terminates at
|
||||
the current source.
|
||||
Each criterion consists of one or more status codes, and actions to
|
||||
take if that status code occurs.
|
||||
.Ss Sources
|
||||
The following sources are implemented:
|
||||
.Bl -column "multicast_dns" -offset indent -compact
|
||||
.It Sy Source Description
|
||||
.It files Local files, such as
|
||||
.Pa /etc/hosts ,
|
||||
and
|
||||
.Pa /etc/passwd .
|
||||
.It dns Internet Domain Name System.
|
||||
.Dq hosts
|
||||
and
|
||||
.Dq networks
|
||||
use
|
||||
.Sy IN
|
||||
class entries, all other databases use
|
||||
.Sy HS
|
||||
class (Hesiod) entries.
|
||||
.It mdnsd Use
|
||||
.Xr mdnsd 8
|
||||
for
|
||||
.Dq hosts
|
||||
lookups, acting as both a system-wide cache for normal unicast DNS
|
||||
as well as providing multicast DNS
|
||||
.Dq ( zeroconf )
|
||||
lookups.
|
||||
.It multicast_dns Use
|
||||
.Xr mdnsd 8
|
||||
only for multicast DNS
|
||||
.Dq hosts
|
||||
lookups.
|
||||
This would normally be used in conjunction with
|
||||
.Dq dns ,
|
||||
which would then provide unicast DNS resolver functions.
|
||||
.It nis NIS (formerly YP)
|
||||
.It compat support
|
||||
.Sq +/-
|
||||
in the
|
||||
.Dq passwd
|
||||
and
|
||||
.Dq group
|
||||
databases.
|
||||
If this is present, it must be the only source for that entry.
|
||||
.El
|
||||
.Ss Databases
|
||||
The following databases are used by the following C library functions:
|
||||
.Bl -column "netgroup" -offset indent -compact
|
||||
.It Sy Database Used by
|
||||
.It group Ta Xr getgrent 3
|
||||
.It hosts Ta Xr gethostbyname 3
|
||||
.It netgroup Ta Xr getnetgrent 3
|
||||
.It networks Ta Xr getnetbyname 3
|
||||
.It passwd Ta Xr getpwent 3
|
||||
.It shells Ta Xr getusershell 3
|
||||
.El
|
||||
.Ss Status codes
|
||||
The following status codes are available:
|
||||
.Bl -column "tryagain" -offset indent -compact
|
||||
.It Sy Status Description
|
||||
.It success The requested entry was found.
|
||||
.It notfound The entry is not present at this source.
|
||||
.It tryagain The source is busy, and may respond to retries.
|
||||
.It unavail The source is not responding, or entry is corrupt.
|
||||
.El
|
||||
.Ss Actions
|
||||
For each of the status codes, one of two actions is possible:
|
||||
.Bl -column "continue" -offset indent -compact
|
||||
.It Sy Action Description
|
||||
.It continue Try the next source
|
||||
.It return Return with the current result
|
||||
.El
|
||||
.Ss Format of file
|
||||
A
|
||||
.Tn BNF
|
||||
description of the syntax of
|
||||
.Nm
|
||||
is:
|
||||
.Bl -column "\*[Lt]criterion\*[Gt]" -offset indent
|
||||
.It \*[Lt]entry\*[Gt] ::=
|
||||
\*[Lt]database\*[Gt] ":" [\*[Lt]source\*[Gt] [\*[Lt]criteria\*[Gt]]]*
|
||||
.It \*[Lt]criteria\*[Gt] ::=
|
||||
"[" \*[Lt]criterion\*[Gt]+ "]"
|
||||
.It \*[Lt]criterion\*[Gt] ::=
|
||||
\*[Lt]status\*[Gt] "=" \*[Lt]action\*[Gt]
|
||||
.It \*[Lt]status\*[Gt] ::=
|
||||
"success" | "notfound" | "unavail" | "tryagain"
|
||||
.It \*[Lt]action\*[Gt] ::=
|
||||
"return" | "continue"
|
||||
.El
|
||||
.Pp
|
||||
Each entry starts on a new line in the file.
|
||||
A
|
||||
.Sq #
|
||||
delimits a comment to end of line.
|
||||
Blank lines are ignored.
|
||||
A
|
||||
.Sq \e
|
||||
at the end of a line escapes the newline, and causes the next line to
|
||||
be a continuation of the current line.
|
||||
All entries are case-insensitive.
|
||||
.Pp
|
||||
The default criteria is to return on
|
||||
.Dq success ,
|
||||
and continue on anything else (i.e,
|
||||
.Li [success=return notfound=continue unavail=continue tryagain=continue]
|
||||
).
|
||||
.Ss Compat mode: +/- syntax
|
||||
In historical multi-source implementations, the
|
||||
.Sq +
|
||||
and
|
||||
.Sq -
|
||||
characters are used to specify the importing of user password and
|
||||
group information from
|
||||
.Tn NIS .
|
||||
Although
|
||||
.Nm
|
||||
provides alternative methods of accessing distributed sources such as
|
||||
.Tn NIS ,
|
||||
specifying a sole source of
|
||||
.Dq compat
|
||||
will provide the historical behaviour.
|
||||
.Pp
|
||||
An alternative source for the information accessed via
|
||||
.Sq +/-
|
||||
can be used by specifying
|
||||
.Dq passwd_compat: source .
|
||||
.Dq source
|
||||
in this case can be
|
||||
.Sq dns ,
|
||||
.Sq nis ,
|
||||
or
|
||||
any other source except for
|
||||
.Sq files
|
||||
and
|
||||
.Sq compat .
|
||||
.Ss Notes
|
||||
Historically, many of the databases had enumeration functions, often of
|
||||
the form
|
||||
.Fn getXXXent .
|
||||
These made sense when the databases were in local files, but don't make
|
||||
sense or have lesser relevance when there are possibly multiple sources,
|
||||
each of an unknown size.
|
||||
The interfaces are still provided for compatibility, but the source
|
||||
may not be able to provide complete entries, or duplicate entries may
|
||||
be retrieved if multiple sources that contain similar information are
|
||||
specified.
|
||||
.Pp
|
||||
To ensure compatibility with previous and current implementations, the
|
||||
.Dq compat
|
||||
source must appear alone for a given database.
|
||||
.Ss Default source lists
|
||||
If, for any reason,
|
||||
.Nm nsswitch.conf
|
||||
doesn't exist, or it has missing or corrupt entries,
|
||||
.Xr nsdispatch 3
|
||||
will default to an entry of
|
||||
.Dq files
|
||||
for the requested database.
|
||||
Exceptions are:
|
||||
.Bl -column passwd_compat "files dns" -offset indent
|
||||
.It Sy Database Default source list
|
||||
.It group compat
|
||||
.It group_compat nis
|
||||
.It hosts files dns
|
||||
.It netgroup files [notfound=return] nis
|
||||
.It passwd compat
|
||||
.It passwd_compat nis
|
||||
.El
|
||||
.Sh FILES
|
||||
.Bl -tag -width /etc/nsswitch.conf -compact
|
||||
.It Pa /etc/nsswitch.conf
|
||||
The file
|
||||
.Nm
|
||||
resides in
|
||||
.Pa /etc .
|
||||
.El
|
||||
.Sh EXAMPLES
|
||||
To lookup hosts in
|
||||
.Pa /etc/hosts
|
||||
and then from the DNS, and lookup user information from
|
||||
.Tn NIS
|
||||
then files, use:
|
||||
.Bl -column "passwd:" -offset indent
|
||||
.It hosts: files dns
|
||||
.It passwd: nis [notfound=return] files
|
||||
.It group: nis [notfound=return] files
|
||||
.El
|
||||
.Pp
|
||||
The criteria
|
||||
.Dq [notfound=return]
|
||||
sets a policy of "if the user is notfound in nis, don't try files."
|
||||
This treats nis as the authoritative source of information, except
|
||||
when the server is down.
|
||||
.Sh SEE ALSO
|
||||
.Xr getent 1 ,
|
||||
.Xr nsdispatch 3 ,
|
||||
.Xr resolv.conf 5 ,
|
||||
.Xr named 8 ,
|
||||
.Xr ypbind 8
|
||||
.Sh HISTORY
|
||||
The
|
||||
.Nm
|
||||
file format first appeared in
|
||||
.Nx 1.4 .
|
||||
.Sh AUTHORS
|
||||
.An Luke Mewburn
|
||||
.Aq lukem@NetBSD.org
|
||||
wrote this freely distributable name-service switch implementation,
|
||||
using ideas from the
|
||||
.Tn ULTRIX
|
||||
.Xr svc.conf 5
|
||||
and
|
||||
.Tn Solaris
|
||||
.Xr nsswitch.conf 4
|
||||
manual pages.
|
Loading…
x
Reference in New Issue
Block a user