xref: /freebsd/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8 (revision daf1cffce2e07931f27c6c6998652e90df6ba87e)
1.\" Copyright (c) 1995, 1996
2.\"	Bill Paul <wpaul@ctr.columbia.edu>.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 3. All advertising materials mentioning features or use of this software
13.\"    must display the following acknowledgement:
14.\"	This product includes software developed by Bill Paul.
15.\" 4. Neither the name of the author nor the names of contributors
16.\"    may be used to endorse or promote products derived from this software
17.\"    without specific prior written permission.
18.\"
19.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22.\" ARE DISCLAIMED.  IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
23.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29.\" SUCH DAMAGE.
30.\"
31.\" $FreeBSD$
32.\"
33.Dd June 2, 1996
34.Dt RPC.YPXFRD 8
35.Os
36.Sh NAME
37.Nm rpc.ypxfrd
38.Nd "NIS map transfer server"
39.Sh SYNOPSIS
40.Nm rpc.ypxfrd
41.Op Fl p Ar path
42.Sh DESCRIPTION
43The
44.Nm
45daemon is used to speed up the distribtion of very large NIS maps
46from NIS master to NIS slave servers. The normal method for transfering
47maps involves several steps:
48.Bl -bullet -offset indent
49.It
50The master server calls
51.Xr yppush 8
52to inform the slave servers to start a transfer.
53.It
54The slave servers invoke
55.Xr ypxfr 8 ,
56which reads the entire contents of a map from the master server
57using the yp_all() function.
58.It
59The
60.Xr ypxfr 8
61program then creates a new map database file by using the
62.Xr db 3
63library hash method to store the data that it receives from the server.
64.It
65When all the data has been retrieved,
66.Xr ypxfr 8
67moves the new file into place and sends
68.Xr ypserv 8
69on the local machine a YPPROC_CLEAR to tell it to refresh its
70database handles.
71.El
72.Pp
73This process can take several minutes when there are very large
74maps involved. For example: a passwd database with several tens of
75thousands of entries can consume several megabytes of disk space,
76and it can take the
77.Xr db 3
78library package a long time to sort and store all the records
79in a hash database. Consider also that there are two sets of map
80files:
81.Pa master.passwd.by{name,uid}
82and
83.Pa passwd.by{name,uid} .
84.Pp
85The
86.Nm
87server speeds up the transfer process by allowing NIS slave servers to
88simply copy the master server's map files rather than building their
89own from scratch. Simply put,
90.Nm
91implements an RPC-based file transfer protocol. Transfering even
92a multi-megabyte file in this fashion takes only a few seconds compared
93to the several minutes it would take even a reasonably fast slave server
94to build a new map from scratch.
95.Pp
96The
97.Nm
98server uses the same access restriction mechanism as
99.Xr ypserv 8 .
100This means that slave servers will only be permitted to transfer
101files if the rules in the
102.Xr securenets 5
103database permit it. Furthermore, only slave servers using reserved
104ports will be allowed to transfer the
105.Pa master.passwd
106maps.
107.Sh OPTIONS
108The following option is available:
109.Bl -tag -width indent
110.It Fl p Ar path
111This option can be used to override the default path to
112the location of the NIS
113map databases. The compiled-in default path is
114.Pa /var/yp .
115.El
116.Sh FILES
117.Bl -tag -width Pa -compact
118.It Pa /var/yp/[domainname]/[maps]
119The NIS maps for a particular NIS domain.
120.El
121.Sh SEE ALSO
122.Xr yp 4 ,
123.Xr yppush 8 ,
124.Xr ypserv 8 ,
125.Xr ypxfr 8
126.Sh BUGS
127The
128.Bx Free
129.Nm ypxfrd
130protocol is not compatible with that used by SunOS. This is unfortunate
131but unavoidable: Sun's protocol is not freely available, and even if it
132were it would probably not be useful since the SunOS NIS v2 implementation
133uses the original ndbm package for its map databases whereas the
134.Bx Free
135implementation uses Berkeley DB. These two packages use vastly different
136file formats. Furthermore, ndbm is byte-order sensitive and not very
137smart about it, meaning that am ndbm database created on a big endian
138system can't be read on a little endian system.
139.Sh AUTHORS
140.An Bill Paul Aq wpaul@ctr.columbia.edu
141