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

FreeBSD Manual Pages


home | help
YPXFR(8)		FreeBSD	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

     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	up-
     dates are made (i.e., when	a user updates their password via

     When run, ypxfr creates a temporary database file in
     /var/yp/[domainname], and fills it	with the contents of mapname as	sup-
     plied by the specified source host.  When the entire map has been trans-
     ferred, ypxfr deletes the original	copy of	mapname	and moves the tempo-
     rary copy into its	place.	When the transfer is complete, ypxfr will at-
     tempt 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

     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 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 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.

     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 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 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 file	system.	 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(8), yppush(8), ypserv(8)

     Bill Paul <>

FreeBSD	13.0		       February	5, 1995			  FreeBSD 13.0


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

home | help