NISSERV(7P) NISSERV(7P) NAME nisserv, ypserv - Network Information Services Protocol (Server) SYNOPSIS /var/ns/lib/libns_nisserv.so DESCRIPTION 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 form: hosts: nisserv 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 the master. 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: domain 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) table 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 each table. key This is passed in as part of the request and is used to fetch data out of the database file. nis_secure 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)). ENABLING The NIS server functionality of nsd must be enabled via the chkconfig ypserv command. NOTE 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. FILES /etc/securenets /var/ns/domains/*/nsswitch.conf SEE ALSO chkconfig(1M), nsd(1M), nsswitch.conf(4), nis(7P), securenets(4) IRIX Admin: Networking and Mail IRIX NIS Administration Guide Page 2