Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ypserv(1M) — DG/UX R4.11MU05

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

domainname(1)

ypcat(1)

ypmatch(1)

makedbm(1M)

ypmake(1M)

ypinit(1M)

yppoll(1M)

yppush(1M)

ypset(1M)

ypwhich(1)

ypxfr(1M)

dbm(3X)

ypclnt(3N)

ypfiles(4)



ypserv(1M)                     DG/UX R4.11MU04                    ypserv(1M)


NAME
       ypserv, ypbind - Network Information Service server and binder
       processes

SYNOPSIS
       /usr/etc/ypserv

       /usr/etc/ypbind

DESCRIPTION
       The Network Information Service (NIS) provides a simple network
       lookup service consisting of databases and processes.  The databases
       are dbm(3X) files in a directory tree rooted at /etc/yp.  These files
       are described in ypfiles(4).  The processes are /usr/etc/ypserv, the
       NIS database lookup server, and /usr/etc/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(1M), 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 server (daemon) processes typically
       activated at system startup time from /usr/sbin/init.d/rc.ypserv.
       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 primary function of ypserv is to look up information in its local
       database of NIS maps.  The operations performed by ypserv are defined
       for the implementor by the NIS Protocol Specification, and for the
       programmer by the header file <rpcsvc/ypprot.h>.  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 C library.  There are four lookup functions, all of which are
       performed on a specified map within some NIS domain: Match,
       Getfirst, Getnext, and Getall.  The Match operation takes a key,
       and returns the associated value.  The Getfirst operation returns
       the first key-value pair from the map, and Getnext can be used to
       enumerate the remainder.  Getall 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: Getordernumber, and Getmastername.  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.)  Other functions are used within the NIS subsystem itself,
       and are not of general interest to NIS clients.  They include
       Doyouservethisdomain?, Transfermap, and
       Reinitializeinternalstate.

       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 the internet address of the NIS
       server, and the port on that host at which the ypserv process is
       listening for service requests. This information is cached in the
       directory /etc/yp/binding using a filename of domainname.version.

       The process of binding is driven by client requests.  As a request
       for an unbound domain comes in, the ypbind process seeks a ypserv
       process that serves maps within that domain.  ypbind will use the
       file /var/yp/binding/<domainname>/ypservers, if it exists, as the
       list of potential NIS servers from which ypbind will choose a server
       for that domain.  The ypservers file is an ASCII file that contains
       one IP address per line for each NIS server for that domain.  The
       file consists of a number of lines like this:

       255.255.1.1
       255.255.1.2
       255.255.2.1

       Note that there are no comments, spaces, or blank lines.  ypbind will
       attempt to bind to the servers in the order their addresses appear in
       the file until a successful bind is performed.  If that server
       subsequently becomes unavailable, then ypbind will again attempt to a
       bind with a server from the list.  If the list is exhausted without a
       successful binding then the request for binding cannot be honored.
       If the ypservers file does not exist then ypbind will broadcast on
       the net trying to find a ypserv process that serves maps within that
       domain.  If a suitable ypserv process is to be identified by
       broadcasting and a successful binding is to be subsequently
       performed, then there must be at least one ypserv process on the
       network.  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.

       Bindings and rebindings are handled transparently by the C library
       routines. If ypbind is unable to speak to the ypserv process it's
       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
       cases, ypbind will try to bind again using the method previously
       described.

       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 Setdomain facility.
       It is for unsnarling messes. Note that the Setdomain procedure only
       accepts requests from processes running as root.

FILES
       If the file /etc/yp/ypserv.log exists when ypserv starts up, log
       information will be written to this file when error conditions arise.

       The file(s) /etc/yp/binding/domainname.version will be created to
       speed up the binding process. These files cache the last successful
       binding created for the given domain, when a binding is requested
       these files are checked for validity and then used.
       /etc/yp
       /usr/etc/ypbind

SEE ALSO
       domainname(1), ypcat(1), ypmatch(1), makedbm(1M), ypmake(1M),
       ypinit(1M), 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 /etc/yp.  It will reply to all broadcasts
       requesting yp service for that domain. Additionally, the ypbind
       process can maintain bindings to several domains and their servers,
       the default domain is however the one specified by the domainname(1)
       command at startup time.


Licensed material--property of copyright holder(s)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026