nisserv, ypserv - Network Information Services Protocol (Server)
The Network Information Services Protocol (NIS) is a simple Sun RPC based
protocol to fetch keyed data from a remote host. It is typically used to
distribute name service information in medium sized organizations. The
data is maintained on a single host (designated the NIS master), and is
pushed occasionally to a list of slave servers. Client systems
dynamically locate a server and request data given a domain name, map
name and key. In Irix the daemon nsd(1M) acts as both the server and
client side proxy for the protocol. The server side is implemented in
the nsd extension library nisserv(7P) while the client side and binding
server are implemented in the nsd extension library nis(7P). This manual
page documents the behavior of the server side protocol library for the
nsd daemon. Applications which wish to make direct requests can still
use the NIS API routines documented in ypclnt(3Y).
The library /var/ns/lib/libns_nisserv.so is opened by the nsd(1M) daemon
when nis is listed as the protocol for some map in a nsswitch.conf file.
On first open the library initialization procedure sets up a port to
handle YPSERV RPC requests.
For each NIS DOMAIN for which you wish to act as a server the
configuration file /var/ns/domains/DOMAIN/nsswitch.conf must exist, and
for each map you want to serve in that domain, a line must exist of the
The script ypinit(1M) will create the nsswitch.conf file for a domain and
on a master will create all the database files by running mdbm_parse to
read the local configuration files and parse them into mdbm(3B) hash
files. On a slave it will use ypxfr(1M) to copy the database files from
If the file /etc/securenets exists then only requests originating on one
of these networks will be responded to. See securenets(4) for more
information on this file.
Extended attributes in the nsswitch.conf file can be used to control the
behavior of the NIS protocol. Extended attributes are simply lists of
key/value pairs attached to each object in the nsd filesystem. The
attributes supported in this library are:
This is the domainname which is typically given as part of the
request. A request can be made to look into multiple different
databases, or even forwarded to another remote name server like:
hosts: nisserv(domain=engr) nisserv(domain=corp) nis(domain=mfg)
The table attribute is sent as part of the request. This
implementation includes a number of tables which were not in the
original implementation. To include a local table a line must exist
in the nsswitch.conf file for the table to specify the resolution
order, and an mdbm file must exist in /var/ns/domains/DOMAIN/ for
key This is passed in as part of the request and is used to fetch data
out of the database file.
The nis_secure attribute is a boolean which specifies that data can
only be sent to requests originating on a privileged port. In order
to have the client send requests from a privileged port, this same
attribute is required on the client (see nis(7P)).
The NIS server functionality of nsd must be enabled via the chkconfig
The daemon nsd(1M) with this library now replaces the daemon ypserv from
previous IRIX releases. Similarly, nsd with the nis(7P) library replaces
the daemon ypbind from previous releases.
chkconfig(1M), nsd(1M), nsswitch.conf(4), nis(7P), securenets(4)
IRIX Admin: Networking and Mail
IRIX NIS Administration Guide
PPPPaaaaggggeeee 2222 [ Back ]