ypserv(1M) ypserv(1M)
NAME
ypserv, ypbind - YP server and binder processes
SYNOPSIS
/usr/lib/netsvc/yp/ypserv
/usr/lib/netsvc/yp/ypbind [ -ypset |-ypsetme ]
DESCRIPTION
The YP 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/sbin/ypserv, the YP database
lookup server, and /usr/sbin/ypbind, the YP binder. The programmatic
interface to YP 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 YP 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 from /etc/rc2.d/S75rpc. ypserv runs only on YP
server machines with a complete YP database. ypbind runs on all
machines using YP services, both YP servers and clients.
The ypserv daemon's primary function is to look up information in its
local database of YP 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 YP library. There
are four lookup functions, all of which are performed on a specified
map within some YP 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 YP client processes;
ypserv may or may not be running on the same node, but must be
running somewhere on the network.
7/91 Page 1
ypserv(1M) ypserv(1M)
The information ypbind remembers is called a binding - the
association of a domain name with a YP server.
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 to bind another YP 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 YP subsystem itself.
ypset(1M) is a command to access the "Set_domain" facility. Note:
the Set Domain procedure only accepts requests from processes running
as root, ant 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
Page 2 7/91
ypserv(1M) ypserv(1M)
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.
7/91 Page 3