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