Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
YPXFR(8)		  BSD System Manager's Manual		      YPXFR(8)

     ypxfr -- transfer NIS database from remote	server to local	host

     /usr/libexec/ypxfr	[-f] [-c] [-d target domain] [-h source	host]
			[-s source domain] [-p path]
			[-C taskid program-number ipaddr port] mapname

     Ypxfr copies an NIS database (or map) from	one NIS	server to another us-
     ing NIS services. In FreeBSD, ypxfr is generally invoked by ypserv(8)
     when it receives a	map transfer request from yppush(8).  Ypxfr is used
     primarily in environments where several NIS servers are in	use in a sin-
     gle domain. One server, the NIS master, maintains the canonical copies of
     all NIS maps, and all the other servers, the NIS slaves, copy new ver-
     sions of the maps from the	master whenever	any updates are	made (i.e.
     when a user updates their password	via yppasswd(1)	).

     When run, ypxfr creates a temporary database file in
     /var/yp/[domainmame], and fills it	with the contents of mapname as	sup-
     plied by the specified source host.  When the entire map has been trans-
     fered, 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-privleged 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 low-
     est), 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.

     The FreeBSD version of ypxfr has support for a special map	transfer pro-
     tocol 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 command 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 isn't	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,	FreeBSD's 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.

     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 invoking 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 insure 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 de-
	     fault, 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 filesystem. The NIS server, ypserv(8),
	     passes this flag to ypxfr if it too has been told to use an al-
	     ternate 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.

	     The name of the map to transfer.

     /var/yp/[domainname]/[maps]       The NIS maps for	a particular NIS do-

     yp(4), yppush(8), ypserv(8)

     Bill Paul <>

BSD			       February	5, 1995				   BSD


Want to link to this manual page? Use this URL:

home | help