ypserv(1M) UNIX System V ypserv(1M)
NAME
ypserv, ypbind - NIS server and binder processes
SYNOPSIS
/usr/lib/netsvc/yp/ypserv
/usr/lib/netsvc/yp/ypbind [ -ypset |-ypsetme ]
DESCRIPTION
The NIS provides a simple network lookup service consisting of databases
and processes. The databases are dbm(3) files in a directory tree rooted
at /var/yp. These files are described in ypfiles(4). The processes are
/usr/lib/netsvc/yp/ypserv, the NIS database lookup server, and
/usr/lib/netsvc/yp/ypbind, the NIS binder. The programmatic interface to
NIS is described in ypclnt(3N). Administrative tools are described in
yppush(1M), ypxfr(1M), yppoll(1M), ypwhich(1), and ypset(1M). Tools to
see the contents of NIS maps are described in ypcat(1), and ypmatch(1).
Database generation and maintenance tools are described in ypinit(1M),
ypmake(1M), and makedbm(1M).
Both ypserv and ypbind are daemon processes typically activated at system
startup time. ypserv runs only on NIS server machines with a complete
NIS database. ypbind runs on all machines using NIS services, both NIS
servers and clients.
The ypserv daemon's primary function is to look up information in its
local database of NIS maps. Communication to and from ypserv is by means
of RPC calls. Lookup functions are described in ypclnt(3N), and are
supplied as C-callable functions in the NIS library. There are four
lookup functions, all of which are performed on a specified map within
some NIS domain: Match, "Get_first", "Get_next", and "Get_all". The
Match operation takes a key, and returns the associated value. The
"Get_first" operation returns the first key-value pair from the map, and
"Get_next" can be used to enumerate the remainder. "Get_all" ships the
entire map to the requester as the response to a single RPC request.
Two other functions supply information about the map, rather than map
entries: "Get_order_number", and "Get_master_name". 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 makedbm(1M), however, they will be visible.
The function of ypbind is to remember information that lets client
processes on a single node communicate with some ypserv process. ypbind
must run on every machine which has NIS client processes; ypserv may or
may not be running on the same node, but must be running somewhere on the
network.
The information ypbind remembers is called a binding-the association of a
domain name with a NIS server.
10/89 Page 1
ypserv(1M) UNIX System V ypserv(1M)
The process of binding is driven by client requests. As a request for an
unbound domain comes in, the ypbind process steps through the ypservers
list (last entry first) trying to find a ypserv process that serves maps
within that domain. There must be a ypserv process on at least one of
the hosts in the ypservers file. Once a domain is bound by a particular
ypbind, that same binding is given to every client process on the node.
The ypbind process on the local node or a
remote node may be queried for the binding of a particular domain by
using the ypwhich(1) command.
If ypbind is unable to speak to the ypserv process it is bound to, it
marks the domain as unbound, tells the client process that the domain is
unbound, and tries to bind the domain once again. Requests received for
an unbound domain will wait until the domain requested is bound. In
general, a bound domain is marked as unbound when the node running ypserv
crashes or gets overloaded. In such a case, ypbind will try to bind to
another NIS server listed in /var/yp/binding/domainname/ypservers.
ypbind also accepts requests to set its binding for a particular domain.
The request is usually generated by the NIS subsystem itself. ypset(1M)
is a command to access the "Set_domain" facility. Note: the Set Domain
procedure only accepts requests from processes with appropriate
privileges, and the -ypset or -ypsetme flags must have been set for
ypbind.
The following options are available for the ypbind command only:
-ypset Allow any user to call ypset(1M). By default, no one can
call ypset(1M).
-ypsetme Only allow root on local machines to call ypset(1M). By
default, no one can call ypset(1M).
FILES
If the file /var/yp/ypserv.log exists when ypserv starts up, log
information will be written to this file when error conditions arise.
/var/yp
/var/yp/binding/ypdomain/ypservers
SEE ALSO
makedbm(1M), ypcat(1), ypinit(1M), ypmake(1M), ypmatch(1), yppoll(1M),
yppush(1M), ypset(1M), ypwhich(1), ypxfr(1M), dbm(3X), ypclnt(3N),
ypfiles(4)
NOTES
Both ypbind and ypserv support multiple domains. The ypserv process
determines the domains it serves by looking for directories of the same
name in the directory /var/yp. Additionally, the ypbind process can
maintain bindings to several domains and their servers.
Page 2 10/89