|
Lines 1-7
Link Here
|
| 1 |
.\" -*- nroff -*- |
1 |
.\" -*- nroff -*- |
| 2 |
.TH RPC.YPXFRD 8 "August 2001" "YP Server" "Reference Manual" |
2 |
.TH RPC.YPXFRD 8 "February 2006" "YP Server" "Reference Manual" |
| 3 |
.SH NAME |
3 |
.SH NAME |
| 4 |
rpc.ypxfrd \- NIS map transfer server |
4 |
rpc.ypxfrd \- fast NIS map transfer server |
| 5 |
.SH SYNOPSIS |
5 |
.SH SYNOPSIS |
| 6 |
.B /usr/sbin/rpc.ypxfrd |
6 |
.B /usr/sbin/rpc.ypxfrd |
| 7 |
[ |
7 |
[ |
|
Lines 20-89
Link Here
|
| 20 |
.SH DESCRIPTION |
20 |
.SH DESCRIPTION |
| 21 |
.LP |
21 |
.LP |
| 22 |
.B rpc.ypxfrd |
22 |
.B rpc.ypxfrd |
| 23 |
is used for speed up the transfer of very large NIS maps from a NIS |
23 |
is used to speed up the transfer of very large NIS maps from the NIS |
| 24 |
master to the NIS slave server. If a NIS slave server receives a |
24 |
master server to NIS slave servers. Generally, if a NIS slave server |
| 25 |
message that there is a new map, it will start |
25 |
receives a notification to update a map, it will start |
| 26 |
.B ypxfr |
26 |
.B ypxfr |
| 27 |
for transfering the new map. |
27 |
to transfer the new map. |
| 28 |
.B ypxfr |
28 |
.B ypxfr |
| 29 |
will read the contents of a map from the master server using the yp_all() |
29 |
will read the contents of a map from the master server using the yp_all() |
| 30 |
function. This process can take several minutes when there are very large |
30 |
function. This process can take several minutes when there are very large |
| 31 |
maps which have to be stored by the database library. |
31 |
maps which have to be stored by the database library. |
| 32 |
.LP |
32 |
.LP |
| 33 |
The |
33 |
The |
| 34 |
.B rpc.ypxfrd |
34 |
.B rpc.ypxfrd |
| 35 |
server speeds up the transfer process by allowing NIS slave servers to |
35 |
server, in co-operation with the ypxfr client, speeds up the transfer |
| 36 |
simply copy the master server's map files rather than building their |
36 |
process by allowing NIS slave servers to simply copy the master server's |
| 37 |
own from scratch. |
37 |
map files verbatim, rather than building their own from scratch. |
| 38 |
.B rpc.ypxfrd |
38 |
.B rpc.ypxfrd |
| 39 |
uses an RPC-based file transfer protocol, so that there is no need |
39 |
uses an RPC-based file transfer protocol, so that there is no need |
| 40 |
for building a new map. |
40 |
for building a new map. |
| 41 |
|
41 |
|
| 42 |
.B rpc.ypxfrd |
42 |
.B rpc.ypxfrd |
| 43 |
could be started by inetd. But since it starts very slowly, |
43 |
can be started by inetd. But since it starts very slowly, |
| 44 |
it should be started after |
44 |
it should be started after |
| 45 |
.B ypserv |
45 |
.B ypserv |
| 46 |
from /etc/init.d/ypxfrd. |
46 |
from /etc/init.d/ypxfrd. |
| 47 |
.SH OPTIONS |
47 |
.SH OPTIONS |
| 48 |
.TP |
48 |
.TP |
| 49 |
.B \-\-debug |
49 |
.B \-\-debug |
| 50 |
Causes the server to run in debugging mode. In debug mode, the server |
50 |
Causes the server to run in debug mode. In this mode, the server |
| 51 |
does not background itself and prints extra status messages to stderr |
51 |
does not background itself and prints extra status messages to stderr |
| 52 |
for each request that it revceives. |
52 |
for each request that it receives. |
| 53 |
.TP |
53 |
.TP |
| 54 |
.BI \-d " directory" |
54 |
.BI \-d " directory" |
| 55 |
.B rpc.ypxfrd |
55 |
.B rpc.ypxfrd |
| 56 |
is using this directory instead of /var/yp |
56 |
will use this directory instead of /var/yp |
| 57 |
.TP |
57 |
.TP |
| 58 |
.BI \-p " port" |
58 |
.BI \-p " port" |
| 59 |
.B rpc.ypxfrd |
59 |
.B rpc.ypxfrd |
| 60 |
will bind itself to this port, |
60 |
will bind itself to this port, |
| 61 |
which makes it possible to have a router filter packets |
61 |
which makes it possible to have a router filter packets |
| 62 |
to the NIS ports. This can restricted the access to the NIS server from |
62 |
to the NIS ports. This can simplifiy restricting the access to the |
| 63 |
hosts on the Internet. |
63 |
rpc.ypxfrd server from hosts on the Internet. |
| 64 |
.TP |
64 |
.TP |
| 65 |
.B \-\-version |
65 |
.B \-\-version |
| 66 |
Prints the version number |
66 |
Prints the version number |
| 67 |
.SH SECURITY |
67 |
.SH SECURITY |
| 68 |
.B rpc.ypxfrd |
68 |
.B rpc.ypxfrd |
| 69 |
uses the same functions for checking a host as |
69 |
uses the same functions for checking a host's permissions as |
| 70 |
.B ypserv. |
70 |
.B ypserv |
| 71 |
At first, |
71 |
does. First, |
| 72 |
.B rpc.ypxfrd |
72 |
.B rpc.ypxfrd |
| 73 |
will check a request from an address with |
73 |
will check a request from an address with |
| 74 |
.B /var/yp/securenets |
74 |
.BR /var/yp/securenets . |
| 75 |
or the tcp wrapper. |
|
|
| 76 |
If the host is allowed to connect to the server, |
75 |
If the host is allowed to connect to the server, |
| 77 |
.B rpc.ypxfrd |
76 |
.B rpc.ypxfrd |
| 78 |
will uses the rules from |
77 |
will use the rules from |
| 79 |
.B /etc/ypserv.conf |
78 |
.B /etc/ypserv.conf |
| 80 |
to check the requested map. If a mapname doesn't match a rule, |
79 |
to check the requested map. If a mapname doesn't match a rule, |
| 81 |
.B rpc.ypxfrd |
80 |
.B rpc.ypxfrd |
| 82 |
will look for the YP_SECURE key in the map. If it exists, |
81 |
will look for the YP_SECURE key in the map. If it exists, |
| 83 |
.B rpc.ypxfrd |
82 |
.B rpc.ypxfrd |
| 84 |
will only allow requests on a reserved port. |
83 |
will only allow requests to a reserved port. Note: this form |
|
|
84 |
of access control only helps if all allowed client hosts are trusted to |
| 85 |
prevent unprivileged users from binding to reserved ports. |
| 85 |
.SH FILES |
86 |
.SH FILES |
| 86 |
/etc/ypserv.conf |
87 |
/etc/ypserv.conf |
|
|
88 |
.br |
| 87 |
/var/yp/securenets |
89 |
/var/yp/securenets |
| 88 |
.SH "SEE ALSO" |
90 |
.SH "SEE ALSO" |
| 89 |
.BR ypserv (8), |
91 |
.BR ypserv (8), |
|
Lines 95-112
Link Here
|
| 95 |
The FreeBSD |
97 |
The FreeBSD |
| 96 |
.B ypxfrd |
98 |
.B ypxfrd |
| 97 |
protocol is not compatible with that used by SunOS. This is unfortunate |
99 |
protocol is not compatible with that used by SunOS. This is unfortunate |
| 98 |
but unavoidable: Sun's protocol is not freely available, and even if it |
100 |
but unavoidable: Sun's protocol is not freely available. |
| 99 |
were it would probably not be useful since the SunOS NIS v2 implimentation |
101 |
.LP |
| 100 |
uses the original ndbm package for its map databases whereas the other |
102 |
Even if it were, it would probably not be useful since the SunOS NIS v2 |
| 101 |
implimentation uses GNU DBM or Berkeley DB. These packages uses vastly |
103 |
implementation uses the original ndbm package for its map databases |
| 102 |
different file formats. Furthermore, ndbm and gdbm are byte-order sensitive |
104 |
whereas other implementations use GNU DBM or Berkeley DB. These |
| 103 |
and not very smart about it, meaning that a gdbm or ndbm database created on |
105 |
databases use vastly different file formats. |
| 104 |
a big endian system can't be read on a little endian system. The FreeBSD |
106 |
.LP |
|
|
107 |
Furthermore, ndbm and gdbm are sensitive to byte-order and word width, |
| 108 |
this means that a gdbm or |
| 109 |
ndbm database created on a big endian system can't be read on a little |
| 110 |
endian system and vice versa, and such databases cannot be exchanged |
| 111 |
across machines with different word width (32 vs. 64 bit) either. |
| 112 |
.LP |
| 113 |
The FreeBSD |
| 105 |
.B ypxfrd |
114 |
.B ypxfrd |
| 106 |
protocol checks, if both, master and slave, uses the same database packages |
115 |
protocol checks if both master and slave use the same database packages |
| 107 |
and, if necessary, the byte order of the system. |
116 |
and, if necessary, the byte order and word width, of the system. |
| 108 |
.LP |
117 |
.LP |
| 109 |
.SH AUTHOR |
118 |
.SH AUTHORS |
| 110 |
ypxfrd protocol and FreeBSD Implementation: Bill Paul <wpaul@ctr.columbia.edu> |
119 |
.IP "Bill Paul <wpaul@ctr.columbia.edu>" |
| 111 |
.br |
120 |
ypxfrd protocol and FreeBSD Implementation |
| 112 |
Linux Implementation: Thorsten Kukuk <kukuk@suse.de> |
121 |
.IP "Thorsten Kukuk <kukuk@suse.de>" |
|
|
122 |
Linux implementation |
| 123 |
.IP "Matthias Andree <matthias.andree@gmx.de>" |
| 124 |
Manual page improvements |