'\" te
.\" Copyright (C) 2004, Sun Microsystems, Inc. All Rights Reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH YPSERV 1M "Dec 15, 2004"
.SH NAME
ypserv, ypxfrd \- NIS server and binder processes
.SH SYNOPSIS
.LP
.nf
\fB/usr/lib/netsvc/yp/ypserv\fR [\fB-dv\fR] [\fB-i\fR | \fB-I\fR] [\fB-r\fR | \fB-R\fR]
.fi

.LP
.nf
\fB/usr/lib/netsvc/yp/ypxfrd\fR
.fi

.SH DESCRIPTION
.sp
.LP
The Network Information Service (\fBNIS\fR) provides a simple network lookup
service consisting of databases and processes. The databases are \fBndbm\fR
files in a directory tree rooted at \fB/var/yp\fR. See \fBndbm\fR(3C). These
files are described in \fBypfiles\fR(4). The processes are
\fB/usr/lib/netsvc/yp/ypserv\fR, the \fBNIS\fR database lookup server, and
\fB/usr/lib/netsvc/yp/ypbind\fR, the \fBNIS\fR binder. The programmatic
interface to the \fBNIS\fR service is described in \fBypclnt\fR(3NSL).
Administrative tools are described in \fByppoll\fR(1M), \fByppush\fR(1M),
\fBypset\fR(1M), \fBypxfr\fR(1M), and \fBypwhich\fR(1). Tools to see the
contents of \fBNIS\fR maps are described in \fBypcat\fR(1), and
\fBypmatch\fR(1). Database generation and maintenance tools are described in
\fBypinit\fR(1M), \fBypmake\fR(1M), and \fBmakedbm\fR(1M).
.sp
.LP
The \fBypserv\fR utility is a daemon process typically activated at system
startup from \fBsvc:/network/nis/server:default\fR. Alternatively, you can, as
the root user, start \fBNIS\fR services using \fBypstart\fR(1M) from the
command-line. \fBypserv\fR runs only on \fBNIS\fR server machines with a
complete \fBNIS\fR database. You can halt all \fBNIS\fR services using the
\fBypstop\fR(1M) command.
.sp
.LP
The \fBypxfrd\fR utility transfers entire \fBNIS\fR maps in an efficient
manner. For systems that use this daemon, map transfers are 10 to 100 times
faster, depending on the map. To use this daemon, be sure \fBypxfrd\fR is
running on the master server. See \fB/usr/lib/netsvc/yp/ypstart\fR. \fBypxfr\fR
attempts to use \fBypxfrd\fR first. If that fails, it prints a warning, then
uses the older transfer method.
.sp
.LP
The \fBypserv\fR daemon's primary function is to look up information in its
local database of \fBNIS\fR maps.
.sp
.LP
The operations performed by \fBypserv\fR are defined for the implementor by the
\fIYP Protocol Specification\fR, and for the programmer by the header file
<\fBrpcsvc/yp_prot.h\fR>.
.sp
.LP
Communication to and from \fBypserv\fR is by means of \fBRPC\fR calls. Lookup
functions are described in \fBypclnt\fR(3NSL), and are supplied as C-callable
functions in the \fBlibnsl\fR(3LIB) library. There are four lookup functions,
all of which are performed on a specified map within some \fBNIS\fR domain:
\fByp_match\fR(3NSL), \fByp_first\fR(3NSL), \fByp_next\fR(3NSL), and
\fByp_all\fR(3NSL). The \fByp_match\fR operation takes a key, and returns the
associated value. The \fByp_first\fR operation returns the first key-value pair
from the map, and \fByp_next\fR can be used to enumerate the remainder.
\fByp_all\fR ships the entire map to the requester as the response to a single
\fBRPC\fR request.
.sp
.LP
A number of special keys in the \fBDBM\fR files can alter the way in which
\fBypserv\fR operates. The keys of interest are:
.sp
.ne 2
.na
\fB\fBYP_INTERDOMAIN\fR\fR
.ad
.RS 21n
The presence of this key causes \fBypserv\fR to forward to a \fBDNS\fR server
host lookups that cannot be satisfied by the \fBDBM\fR files.
.RE

.sp
.ne 2
.na
\fB\fBYP_SECURE\fR\fR
.ad
.RS 21n
This key causes \fBypserv\fR to answer only questions coming from clients on
reserved ports.
.RE

.sp
.ne 2
.na
\fB\fBYP_MULTI_\fR\fIhostname\fR\fR
.ad
.RS 21n
This is a special key in the form, \fBYP_MULTI_\fR\fIhostname
addr1,...,addrN.\fR A client looking for \fIhostname\fR receives the closest
address.
.RE

.sp
.LP
Two other functions supply information about the map, rather than map entries:
\fByp_order\fR(3NSL), and \fByp_master\fR(3NSL). In fact, both order number and
master name exist in the map as key-value pairs, but the server will not return
either through the normal lookup functions. If you examine the map with
\fBmakedbm\fR(1M), however, they are visible. Other functions are used within
the \fBNIS\fR service subsystem itself, and are not of general interest to
\fBNIS\fR clients. These functions include \fBdo_you_serve_this_domain?\fR,
\fBtransfer_map\fR, and \fBreinitialize_internal_state\fR.
.sp
.LP
On start up, \fBypserv\fR checks for the existence of the NIS to LDAP (N2L)
configuration file \fB/var/yp/NISLDAPmapping\fR. If it is present then a master
server starts in N2L mode. If the file is not present it starts in
"traditional" (non N2L) mode. Slave servers always start in traditional mode.
.sp
.LP
In N2L mode, a new set of map files, with an \fBLDAP_\fR prefix, are generated,
based on the contents of the LDAP DIT. The old map files, NIS source files and
\fBypmake\fR(1M) are not used.
.sp
.LP
It is possible that \fBypmake\fR(1M) can be accidentally run in N2L mode. If
the occurs, the old style map files are overwritten. That the map files are
overwritten is harmless. However, any resulting \fByppush\fR(1M) operation will
push information based on the DIT rather than the source files. The user may
not expect information based on the DIT. \fBypserv\fR keeps track of the last
modification date of the old style map files. If the map files have been
updated, a warning is logged that suggests that the user call \fByppush\fR
directly instead of \fBypmake\fR.
.sp
.LP
If a server attempts to run in N2L mode and a LDAP server cannot be contacted,
it behaves as follows:
.RS +4
.TP
1.
When \fBypserv\fR is started, a warning will be logged.
.RE
.RS +4
.TP
2.
When a NIS read access is made and the TTL entry has expired, a warning is
logged.Information that is returned from the cache has not been updated.
.RE
.RS +4
.TP
3.
When a NIS write access is made, a warning is logged. The cache will not be
updated, and a NIS failure will be returned.
.RE
.sp
.LP
If \fBypxfrd\fR is running in N2L mode and is asked to transfer a map,
\fBypxfrd\fR first checks whether the map is out of date. If the map is out of
date, \fBypxfrd\fR initiates an update from the DIT. \fBypxfrd\fR cannot wait
for the update to complete. If \fBypxfrd\fR waited, the client end \fBypxfr\fR
operation could time out. To prevent \fBypxfrd\fR from timing out, the existing
map is transferred from the cache. The most up to date map will be transferred
on subsequent \fBypxfrd\fR operations.
.SH OPTIONS
.SS "ypserv"
.sp
.ne 2
.na
\fB\fB-d\fR\fR
.ad
.RS 7n
The \fBNIS\fR service should go to the \fBDNS\fR for more host information.
This requires the existence of a correct \fB/etc/resolv.conf\fR file pointing
to a \fBDNS\fR server. This option turns on \fBDNS\fR forwarding regardless of
whether or not the \fBYP_INTERDOMAIN\fR flag is set in the \fBhosts\fR maps.
See \fBmakedbm\fR(1M). In the absence of an \fB/etc/resolv.conf\fR file,
\fBypserv\fR complains, but ignores the \fB-d\fR option.
.RE

.sp
.ne 2
.na
\fB\fB-i\fR\fR
.ad
.RS 7n
If in N2L mode, initialize the NIS related parts of the \fBDIT\fR based on the
current, non \fBLDAP_\fR prefixed, map files. The \fBLDAP_\fR prefixed maps are
not created or updated. If you require that \fBLDAP_\fR prefixed maps be
updated or created, then use the \fB-ir\fR option.
.sp
The \fB-i\fR option does not attempt to create any NIS domain or container
objects. If any NIS domain or container objects have not already been created,
then errors will occur, as entries are written to nonexistent containers.
.RE

.sp
.ne 2
.na
\fB\fB-I\fR\fR
.ad
.RS 7n
Identical to \fB-i\fR, except that any missing domain and container objects are
created.
.RE

.sp
.ne 2
.na
\fB\fB-r\fR\fR
.ad
.RS 7n
If in N2L mode, then refresh the \fBLDAP_\fR prefixed map files based on the
contents of the \fBDIT\fR.
.RE

.sp
.ne 2
.na
\fB\fB-ir\fR\fR
.ad
.RS 7n
If both \fB-i\fR and \fB-r\fR are specified in N2L mode, then the \fBDIT\fR
will first be initialized from the current non \fBLDAP_\fR prefixed map files.
A new set of \fBLDAP_\fR prefixed maps will then be generated from the contents
of the \fBDIT\fR. A new set of \fBLDAP_\fR prefixed maps is required when
moving from traditional NIS to N2L mode NIS.
.RE

.sp
.ne 2
.na
\fB\fB-Ir\fR\fR
.ad
.RS 7n
Identical to \fB-ir\fR, except that any missing domain and container objects
are created.
.RE

.sp
.ne 2
.na
\fB\fB-v\fR\fR
.ad
.RS 7n
Operate in the verbose mode, printing diagnostic messages to stderr.
.RE

.sp
.LP
When run with the \fB-i\fR, \fB-r\fR, \fB-I\fR, \fB-ir\fR or \fB-Ir\fR options,
the \fBypserv\fR command runs in the foreground and exits once map
initialization has been completed. Once the \fBypserv\fR command exits, the
user knows the maps are ready and can restart \fBypserv\fR and the other
\fByp\fR daemons by running \fBypstart\fR(1M).
.sp
.LP
If there is a requirement to initialize the \fBDIT\fR from the NIS source
files, which may have been modified since the maps were last remade, run
\fBypmake\fR before running \fBypserv\fR \fB-i\fR or \fBypserv\fR \fB-ir\fR.
\fBypmake\fR regenerated old style NIS maps. Then \fBypserv\fR \fB-ir\fR dumps
them into the \fBDIT\fR. When the \fB-ir\fR option is used, the \fBLDAP_\fR
prefixe maps are also generated or updated. Since these maps will be more
recent than the old style maps, \fBypmake\fR will not be reported as erroneous
when it is run.
.SH FILES
.sp
.ne 2
.na
\fB\fB/var/yp/securenets\fR\fR
.ad
.sp .6
.RS 4n
Defines the hosts and networks that are granted access to information in the
served domain. It is read at startup time by both \fBypserv\fR and
\fBypxfrd\fR.
.RE

.sp
.ne 2
.na
\fB\fB/var/yp/ypserv.log\fR\fR
.ad
.sp .6
.RS 4n
If the \fB/var/yp/ypserv.log\fR file exists when \fBypserv\fR starts up, log
information is written to it when error conditions arise.
.RE

.sp
.ne 2
.na
\fB\fB/var/yp/binding/domainname/ypservers\fR\fR
.ad
.sp .6
.RS 4n
Lists the \fBNIS\fR server hosts that \fBypbind\fR can bind to.
.RE

.SH SEE ALSO
.sp
.LP
\fBsvcs\fR(1), \fBypcat\fR(1), \fBypmatch\fR(1), \fBypwhich\fR(1),
\fBdomainname\fR(1M), \fBmakedbm\fR(1M), \fBsvcadm\fR(1M), \fBypbind\fR(1M),
\fBypinit\fR(1M), \fBypmake\fR(1M), \fByppoll\fR(1M), \fByppush\fR(1M),
\fBypset\fR(1M), \fBypstart\fR(1M), \fBypstop\fR(1M), \fBypxfr\fR(1M),
\fBndbm\fR(3C), \fBypclnt\fR(3NSL), \fBlibnsl\fR(3LIB),
\fBNISLDAPmapping\fR(4), \fBsecurenets\fR(4), \fBypfiles\fR(4),
\fBypserv\fR(4), \fBattributes\fR(5), \fBsmf\fR(5)
.sp
.LP

.sp
.LP
\fI\fR
.SH NOTES
.sp
.LP
\fBypserv\fR supports multiple domains. The \fBypserv\fR process determines the
domains it serves by looking for directories of the same name in the directory
\fB/var/yp\fR. It replies to all broadcasts requesting yp service for that
domain.
.sp
.LP
The Network Information Service (\fBNIS\fR) was formerly known as Sun Yellow
Pages (\fBYP\fR). The functionality of the two remains the same; only the name
has changed. The name Yellow Pages is a registered trademark in the United
Kingdom of British Telecommunications PLC, and must not be used without
permission.
.sp
.LP
\fBNIS\fR uses \fBndbm()\fR files to store maps. Therefore, it is subject to
the 1024 byte limitations described in the USAGE and NOTES sections of the
\fBndbm\fR(3C) man page.
.sp
.LP
The NIS server service is managed by the service management facility,
\fBsmf\fR(5), under the service identifier:
.sp
.in +2
.nf
svc:/network/nis/server:default
.fi
.in -2
.sp

.sp
.LP
Administrative actions on this service, such as enabling, disabling, or
requesting restart, can be performed using \fBsvcadm\fR(1M). The service's
status can be queried using the \fBsvcs\fR(1) command.