xref: /freebsd/libexec/ypxfr/ypxfr.8 (revision a8445737e740901f5f2c8d24c12ef7fc8b00134e)
1.\" Copyright (c) 1995
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 University nor the names of its 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.\"	$Id: ypxfr.8,v 1.7 1997/12/08 07:49:51 charnier Exp $
32.\"
33.Dd February 5, 1995
34.Dt YPXFR 8
35.Os
36.Sh NAME
37.Nm ypxfr
38.Nd "transfer NIS database from remote server to local host"
39.Sh SYNOPSIS
40.Nm /usr/libexec/ypxfr
41.Op Fl f
42.Op Fl c
43.Op Fl d Ar target domain
44.Op Fl h Ar source host
45.Op Fl s Ar source domain
46.Op Fl p Ar path
47.Op Fl C Ar taskid program-number ipaddr port
48.Ar mapname
49.Sh DESCRIPTION
50.Nm Ypxfr
51copies an
52.Tn NIS
53database (or
54.Pa map )
55from one
56.Tn NIS
57server to another using
58.Tn NIS
59services. In
60.Bx Free ,
61.Nm
62is generally invoked by
63.Xr ypserv 8
64when it receives a map transfer request from
65.Xr yppush 8 .
66.Nm Ypxfr
67is used primarily in environments where several
68.Tn NIS
69servers are in use in a single domain. One server, the
70.Tn NIS
71master, maintains
72the canonical copies of all
73.Tn NIS
74maps, and all the other servers,
75the
76.Tn NIS
77slaves, copy new versions of the maps from the master whenever
78any updates are made (i.e. when a user updates their password via
79.Xr yppasswd 1 ).
80.Pp
81When run,
82.Nm
83creates a temporary database file in
84.Pa /var/yp/[domainmame] ,
85and fills it with the contents of
86.Ar mapname
87as supplied by the specified
88.Ar source host .
89When the entire map has been transfered,
90.Nm
91deletes the original copy of
92.Ar mapname
93and moves the temporary copy into its place. When the transfer is
94complete,
95.Nm
96will attempt to send a 'clear current map' request to the local
97.Xr ypserv 8
98process to clear any possible references it may still have to the
99stale map.
100.Pp
101Note that all files created by
102.Nm
103are owner readable and writable only for security reasons. Since the
104.Tn NIS
105maps and the directory in which they reside are normally owned by
106root, this prevents non-privleged users from making unauthorized
107modifications.
108.Pp
109In order to maintain consistency across all
110.Tn NIS
111servers,
112.Nm
113can be run periodically in a
114.Xr cron 8
115job. Maps which change infrequently
116need only be updated once a day (preferably late at night when system
117usage is lowest), whereas those that are subject to frequent changes
118(such a
119.Pa passwd.byname
120and
121.Pa passwd.byuid )
122should be updated perhaps once every hour. Using
123.Xr cron 8
124to automatically
125update the
126.Tn NIS
127maps is not strictly mandatory since all updates should
128be propagated by
129.Xr yppush 8
130when
131.Pa /var/yp/Makefile
132is run on the
133.Tn NIS
134master server, however it is good practice
135on large networks where possible outages could cause
136.Tn NIS
137servers to fall out of sync with each other.
138.Pp
139When
140.Nm
141is invoked without a controlling terminal, e.g. from inside
142.Xr ypserv 8 ,
143it logs all its output using the
144.Xr syslog 3
145facility.
146.Sh NOTES
147The
148.Bx Free
149version of
150.Nm
151has support for a special map transfer protocol which works in
152conjunction with the
153.Bx Free
154.Xr rpc.ypxfrd 8
155server. This protocol allows it to transfer raw map database files from
156the
157.Tn NIS
158master server and can be many times faster than the standard
159transfer method, particularly for very large
160.Tn NIS
161maps. The
162.Nm
163command will check to see if the
164.Xr rpc.ypxfrd 8
165server is registered on the
166.Tn NIS
167master server and attempt to use
168it if it is present. If it isn't it will fall back to the standard
169transfer method, copying the map contents from
170.Xr ypserv 8
171and creating new maps instead.
172.Pp
173Note that while the
174.Bx Free
175ypxfrd protocol is conceptually similar
176to the SunOS ypxfrd protocol,
177.Bx Free Ns 's
178protocol is not compatible with
179Sun's, therefore it will not work with Sun's ypxfrd server.
180.Bx Free
181slave systems can still transfer maps from any
182.Bx non-Free
183.Tn NIS
184server,
185however they will only be able to take advantage of the faster protocol
186if the master server is also running
187.Bx Free .
188.Sh OPTIONS
189The following options and flags are supported by
190.Nm Ns :
191.Bl -tag -width indent
192.It Fl f
193Force a map transfer. Normally,
194.Nm
195will not transfer a map if it determines that the
196.Tn NIS
197master's copy
198is not newer than the existing copy already on the local host: the
199.Fl f
200flag forces a transfer regardless of which server's version is more recent.
201.It Fl c
202Do not send a 'clear current map' request to the
203.Xr ypserv 8
204process running on the local host. This flag is normally used when
205invoking
206.Nm
207manually on a machine that is not yet running
208.Xr ypserv 8 .
209Without this flag, failure to contact the local
210.Tn NIS
211server will cause
212.Nm
213to abort the transfer.
214.It Fl d Ar target domain
215Specify a target domain other than the current
216.Tn NIS
217domain.
218.It Fl h Ar source host
219Specify the name of the host from which to copy the
220.Tn NIS
221maps. This option
222is used to insure that
223.Nm
224only copies maps from the
225.Tn NIS
226master server.
227.It Fl s Ar source domain
228Specify the domain from which to transfer a map, in the event that
229the transfer is being done across two different
230.Tn NIS
231domains.
232.It Fl p Ar path
233Specify the top level directory containing the
234.Tn NIS
235maps. By
236default, this path is
237.Pa /var/yp .
238The
239.Fl p
240flag allows you to specify an alternate path should you wish to
241store your
242.Tn NIS
243maps in a different part of the filesystem. The
244.Tn NIS
245server,
246.Xr ypserv 8 ,
247passes this flag to
248.Nm
249if it too has been told to use an alternate path.
250.It Fl C Ar taskid program-number ipaddr port
251These options are used only when
252.Nm
253is invoked by
254.Xr ypserv 8
255in response to a map transfer request initiated by
256.Xr yppush 8 .
257In this instance,
258.Nm
259needs to 'callback' to the
260.Xr yppush 8
261process and interact with it, so
262.Xr yppush 8
263passes to it an IP address
264.Ar ipaddr ,
265port number
266.Ar port ,
267registered program number
268.Ar program-number
269and a transaction ID
270.Ar taskid
271that it can use to contact the waiting
272.Xr yppush 8
273process on the master server.
274.It Ar mapname
275The name of the map to transfer.
276.El
277.Sh FILES
278.Bl -tag -width Pa -compact
279.It Pa /var/yp/[domainname]/[maps]
280The
281.Tn NIS
282maps for a particular
283.Tn NIS
284domain.
285.El
286.Sh SEE ALSO
287.Xr yp 4 ,
288.Xr yppush 8 ,
289.Xr ypserv 8
290.Sh AUTHORS
291.An Bill Paul Aq wpaul@ctr.columbia.edu
292