Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ypxfrd(8) [suse man page]

RPC.YPXFRD(8)						       NIS Reference Manual						     RPC.YPXFRD(8)

NAME
rpc.ypxfrd - NIS map transfer server SYNOPSIS
/usr/sbin/rpc.ypxfrd [-d path] [-p port] [--debug] /usr/sbin/rpc.ypxfrd --version DESCRIPTION
rpc.ypxfrd is used for speed up the transfer of very large NIS maps from a NIS master to the NIS slave server. If a NIS slave server receives a message that there is a new map, it will start ypxfr for transfering the new map. ypxfr will read the contents of a map from the master server using the yp_all() function. The rpc.ypxfrd server speeds up the transfer process by allowing NIS slave servers to simply copy the master servers map files rather than building their own from scratch. rpc.ypxfrd uses an RPC-based file transfer protocol. If the on-disk format of the database on both machines is not the same, rpc.ypxfrd will refuse to send the data and ypxfr will fallback to yp_all() and fetch every single entry alone. rpc.ypxfrd could be started by inetd. But since it starts very slowly, it should be started after ypserv from /etc/init.d/ypxfrd. OPTIONS
--debug Causes the server to run in debugging mode. In debug mode, the server does not background itself and prints extra status messages to stderr for each request that it revceives. -d path rpc.ypxfrd is using this directory instead of /var/yp. -p port rpc.ypxfrd will bind itself to this port, which makes it possible to have a router filter packets to the NIS ports. This can restricted the access to the NIS server from hosts on the Internet. --version Prints the version number SECURITY
rpc.ypxfrd uses the same functions for checking a host as ypserv. At first, rpc.ypxfrd will check a request from an address with /var/yp/securenets or the tcp wrapper. If the host is allowed to connect to the server, rpc.ypxfrd will uses the rules from /etc/ypserv.conf to check the requested map. If a mapname doesn't match a rule, rpc.ypxfrd will look for the YP_SECURE key in the map. If it exists, rpc.ypxfrd will only allow requests on a reserved port. NOTES
The FreeBSD ypxfrd protocol is not compatible with that used by SunOS. This is unfortunate but unavoidable: SUNs protocol is not freely available, and even if it were it would probably not be useful since the SunOS NIS v2 implementation uses the original ndbm package for its map databases whereas the other implementation uses GNU DBM or Berkeley DB. These packages uses vastly different file formats. Furthermore, ndbm and gdbm are byte-order and word width sensitive and not very smart about it, meaning that a gdbm or ndbm database created on a big endian or 64bit system cannot be read on a little endian or 32bit system. The FreeBSD ypxfrd protocol checks, if both, master and slave, uses the same database packages and, if necessary, the byte order of the system. FILES
/etc/ypserv.conf Configuration file for options and access rights /var/yp/securenets Configuration file for access rights SEE ALSO
ypserv(8), makedbm(8), yppush(8), ypxfr(8) AUTHOR
ypxfrd protocol and FreeBSD Implementation: Bill Paul <wpaul@ctr.columbia.edu> Linux Implementation: Thorsten Kukuk <kukuk@linux-nis.org> NIS Reference Manual 04/15/2008 RPC.YPXFRD(8)

Check Out this Related Man Page

YPXFR(8)						    BSD System Manager's Manual 						  YPXFR(8)

NAME
ypxfr -- transfer NIS database from remote server to local host SYNOPSIS
/usr/libexec/ypxfr [-f] [-c] [-d target domain] [-h source host] [-s source domain] [-p path] [-C taskid program-number ipaddr port] mapname DESCRIPTION
The ypxfr utility copies an NIS database (or map) from one NIS server to another using NIS services. In FreeBSD, ypxfr is generally invoked by ypserv(8) when it receives a map transfer request from yppush(8). The ypxfr utility is used primarily in environments where several NIS servers are in use in a single domain. One server, the NIS master, maintains the canonical copies of all NIS maps, and all the other servers, the NIS slaves, copy new versions of the maps from the master whenever any updates are made (i.e., when a user updates their pass- word via yppasswd(1)). When run, ypxfr creates a temporary database file in /var/yp/[domainname], and fills it with the contents of mapname as supplied by the spec- ified source host. When the entire map has been transferred, ypxfr deletes the original copy of mapname and moves the temporary copy into its place. When the transfer is complete, ypxfr will attempt to send a 'clear current map' request to the local ypserv(8) process to clear any possible references it may still have to the stale map. Note that all files created by ypxfr are owner readable and writable only for security reasons. Since the NIS maps and the directory in which they reside are normally owned by root, this prevents non-privileged users from making unauthorized modifications. In order to maintain consistency across all NIS servers, ypxfr can be run periodically in a cron(8) job. Maps which change infrequently need only be updated once a day (preferably late at night when system usage is lowest), whereas those that are subject to frequent changes (such a passwd.byname and passwd.byuid) should be updated perhaps once every hour. Using cron(8) to automatically update the NIS maps is not strictly mandatory since all updates should be propagated by yppush(8) when /var/yp/Makefile is run on the NIS master server, however it is good practice on large networks where possible outages could cause NIS servers to fall out of sync with each other. When ypxfr is invoked without a controlling terminal, e.g. from inside ypserv(8), it logs all its output using the syslog(3) facility. NOTES
The FreeBSD version of ypxfr has support for a special map transfer protocol which works in conjunction with the FreeBSD rpc.ypxfrd(8) server. This protocol allows it to transfer raw map database files from the NIS master server and can be many times faster than the standard transfer method, particularly for very large NIS maps. The ypxfr utility will check to see if the rpc.ypxfrd(8) server is registered on the NIS master server and attempt to use it if it is present. If it is not it will fall back to the standard transfer method, copying the map contents from ypserv(8) and creating new maps instead. Note that while the FreeBSD ypxfrd protocol is conceptually similar to the SunOS ypxfrd protocol, the FreeBSD protocol is not compatible with Sun's, therefore it will not work with Sun's ypxfrd server. FreeBSD slave systems can still transfer maps from any non-FreeBSD NIS server, however they will only be able to take advantage of the faster protocol if the master server is also running FreeBSD. OPTIONS
The following options and flags are supported by ypxfr: -f Force a map transfer. Normally, ypxfr will not transfer a map if it determines that the NIS master's copy is not newer than the existing copy already on the local host: the -f flag forces a transfer regardless of which server's version is more recent. -c Do not send a 'clear current map' request to the ypserv(8) process running on the local host. This flag is normally used when invok- ing ypxfr manually on a machine that is not yet running ypserv(8). Without this flag, failure to contact the local NIS server will cause ypxfr to abort the transfer. -d target domain Specify a target domain other than the current NIS domain. -h source host Specify the name of the host from which to copy the NIS maps. This option is used to ensure that ypxfr only copies maps from the NIS master server. -s source domain Specify the domain from which to transfer a map, in the event that the transfer is being done across two different NIS domains. -p path Specify the top level directory containing the NIS maps. By default, this path is /var/yp. The -p flag allows you to specify an alternate path should you wish to store your NIS maps in a different part of the file system. The NIS server, ypserv(8), passes this flag to ypxfr if it too has been told to use an alternate path. -C taskid program-number ipaddr port These options are used only when ypxfr is invoked by ypserv(8) in response to a map transfer request initiated by yppush(8). In this instance, ypxfr needs to 'callback' to the yppush(8) process and interact with it, so yppush(8) passes to it an IP address ipaddr, port number port, registered program number program-number and a transaction ID taskid that it can use to contact the waiting yppush(8) process on the master server. mapname The name of the map to transfer. FILES
/var/yp/[domainname]/[maps] The NIS maps for a particular NIS domain. SEE ALSO
yp(8), yppush(8), ypserv(8) AUTHORS
Bill Paul <wpaul@ctr.columbia.edu> BSD
February 5, 1995 BSD
Man Page