|
version 1.1, 2012/02/17 15:09:30
|
version 1.1.1.2, 2013/10/14 07:51:14
|
|
Line 1
|
Line 1
|
| .TH "rsyncd.conf" "5" "23 Sep 2011" "" "" | .TH "rsyncd.conf" "5" "28 Sep 2013" "" "" |
| .SH "NAME" |
.SH "NAME" |
| rsyncd.conf \- configuration file for rsync in daemon mode |
rsyncd.conf \- configuration file for rsync in daemon mode |
| .SH "SYNOPSIS" |
.SH "SYNOPSIS" |
|
Line 31 whitespace in module and parameter names is irrelevant
|
Line 31 whitespace in module and parameter names is irrelevant
|
| trailing whitespace in a parameter value is discarded. Internal whitespace |
trailing whitespace in a parameter value is discarded. Internal whitespace |
| within a parameter value is retained verbatim. |
within a parameter value is retained verbatim. |
| .PP |
.PP |
| Any line beginning with a hash (#) is ignored, as are lines containing | Any line \fBbeginning\fP with a hash (#) is ignored, as are lines containing |
| only whitespace. | only whitespace. (If a hash occurs after anything other than leading |
| | whitespace, it is considered a part of the line\(cq\&s content.) |
| .PP |
.PP |
| Any line ending in a \e is \(dq\&continued\(dq\& on the next line in the |
Any line ending in a \e is \(dq\&continued\(dq\& on the next line in the |
| customary UNIX fashion. |
customary UNIX fashion. |
|
Line 89 You may also include any module parameters in the glob
|
Line 90 You may also include any module parameters in the glob
|
| config file in which case the supplied value will override the |
config file in which case the supplied value will override the |
| default for that parameter. |
default for that parameter. |
| .PP |
.PP |
| |
You may use references to environment variables in the values of parameters. |
| |
String parameters will have %VAR% references expanded as late as possible (when |
| |
the string is used in the program), allowing for the use of variables that |
| |
rsync sets at connection time, such as RSYNC_USER_NAME. Non\-string parameters |
| |
(such as true/false settings) are expanded when read from the config file. If |
| |
a variable does not exist in the environment, or if a sequence of characters is |
| |
not a valid reference (such as an un\-paired percent sign), the raw characters |
| |
are passed through unchanged. This helps with backward compatibility and |
| |
safety (e.g. expanding a non\-existent %VAR% to an empty string in a path could |
| |
result in a very unsafe path). The safest way to insert a literal % into a |
| |
value is to use %%. |
| |
.PP |
| .IP "\fBmotd file\fP" |
.IP "\fBmotd file\fP" |
| This parameter allows you to specify a |
This parameter allows you to specify a |
| \(dq\&message of the day\(dq\& to display to clients on each connect. This |
\(dq\&message of the day\(dq\& to display to clients on each connect. This |
| usually contains site information and any legal notices. The default |
usually contains site information and any legal notices. The default |
| is no motd file. |
is no motd file. |
| |
This can be overridden by the \fB\-\-dparam=motdfile=FILE\fP |
| |
command\-line option when starting the daemon. |
| .IP |
.IP |
| .IP "\fBpid file\fP" |
.IP "\fBpid file\fP" |
| This parameter tells the rsync daemon to write |
This parameter tells the rsync daemon to write |
| its process ID to that file. If the file already exists, the rsync |
its process ID to that file. If the file already exists, the rsync |
| daemon will abort rather than overwrite the file. |
daemon will abort rather than overwrite the file. |
| |
This can be overridden by the \fB\-\-dparam=pidfile=FILE\fP |
| |
command\-line option when starting the daemon. |
| .IP |
.IP |
| .IP "\fBport\fP" |
.IP "\fBport\fP" |
| You can override the default port the daemon will listen on |
You can override the default port the daemon will listen on |
|
Line 121 details on some of the options you may be able to set.
|
Line 138 details on some of the options you may be able to set.
|
| special socket options are set. These settings can also be specified |
special socket options are set. These settings can also be specified |
| via the \fB\-\-sockopts\fP command\-line option. |
via the \fB\-\-sockopts\fP command\-line option. |
| .IP |
.IP |
| |
.IP "\fBlisten backlog\fP" |
| |
You can override the default backlog value when the |
| |
daemon listens for connections. It defaults to 5. |
| |
.IP |
| .SH "MODULE PARAMETERS" |
.SH "MODULE PARAMETERS" |
| |
|
| .PP |
.PP |
|
Line 133 name contains whitespace, each internal sequence of wh
|
Line 154 name contains whitespace, each internal sequence of wh
|
| changed into a single space, while leading or trailing whitespace will be |
changed into a single space, while leading or trailing whitespace will be |
| discarded. |
discarded. |
| .PP |
.PP |
| |
As with GLOBAL PARAMETERS, you may use references to environment variables in |
| |
the values of parameters. See the GLOBAL PARAMETERS section for more details. |
| |
.PP |
| .IP "\fBcomment\fP" |
.IP "\fBcomment\fP" |
| This parameter specifies a description string |
This parameter specifies a description string |
| that is displayed next to the module name when clients obtain a list |
that is displayed next to the module name when clients obtain a list |
|
Line 143 This parameter specifies the directory in the daemon\(
|
Line 167 This parameter specifies the directory in the daemon\(
|
| filesystem to make available in this module. You must specify this parameter |
filesystem to make available in this module. You must specify this parameter |
| for each module in \f(CWrsyncd.conf\fP. |
for each module in \f(CWrsyncd.conf\fP. |
| .IP |
.IP |
| |
You may base the path\(cq\&s value off of an environment variable by surrounding |
| |
the variable name with percent signs. You can even reference a variable |
| |
that is set by rsync when the user connects. |
| |
For example, this would use the authorizing user\(cq\&s name in the path: |
| |
.IP |
| |
.nf |
| |
path = /home/%RSYNC_USER_NAME% |
| |
.fi |
| |
|
| |
.IP |
| It is fine if the path includes internal spaces \-\- they will be retained |
It is fine if the path includes internal spaces \-\- they will be retained |
| verbatim (which means that you shouldn\(cq\&t try to escape them). If your final |
verbatim (which means that you shouldn\(cq\&t try to escape them). If your final |
| directory has a trailing space (and this is somehow not something you wish to |
directory has a trailing space (and this is somehow not something you wish to |
|
Line 223 resources.
|
Line 257 resources.
|
| .IP |
.IP |
| .IP "\fBmunge symlinks\fP" |
.IP "\fBmunge symlinks\fP" |
| This parameter tells rsync to modify |
This parameter tells rsync to modify |
| all incoming symlinks in a way that makes them unusable but recoverable | all symlinks in the same way as the (non\-daemon\-affecting) |
| (see below). This should help protect your files from user trickery when | \fB\-\-munge\-links\fP command\-line option (using a method described below). |
| | This should help protect your files from user trickery when |
| your daemon module is writable. The default is disabled when \(dq\&use chroot\(dq\& |
your daemon module is writable. The default is disabled when \(dq\&use chroot\(dq\& |
| is on and the inside\-chroot path is \(dq\&/\(dq\&, otherwise it is enabled. |
is on and the inside\-chroot path is \(dq\&/\(dq\&, otherwise it is enabled. |
| .IP |
.IP |
|
Line 299 If the daemon fails to open the specified file, it wil
|
Line 334 If the daemon fails to open the specified file, it wil
|
| using syslog and output an error about the failure. (Note that the |
using syslog and output an error about the failure. (Note that the |
| failure to open the specified log file used to be a fatal error.) |
failure to open the specified log file used to be a fatal error.) |
| .IP |
.IP |
| |
This setting can be overridden by using the \fB\-\-log\-file=FILE\fP or |
| |
\fB\-\-dparam=logfile=FILE\fP command\-line options. The former overrides |
| |
all the log\-file parameters of the daemon and all module settings. |
| |
The latter sets the daemon\(cq\&s log file and the default for all the |
| |
modules, which still allows modules to override the default setting. |
| |
.IP |
| .IP "\fBsyslog facility\fP" |
.IP "\fBsyslog facility\fP" |
| This parameter allows you to |
This parameter allows you to |
| specify the syslog facility name to use when logging messages from the |
specify the syslog facility name to use when logging messages from the |
|
Line 330 attempted uploads will fail. If \(dq\&read only\(dq\&
|
Line 371 attempted uploads will fail. If \(dq\&read only\(dq\&
|
| be possible if file permissions on the daemon side allow them. The default |
be possible if file permissions on the daemon side allow them. The default |
| is for all modules to be read only. |
is for all modules to be read only. |
| .IP |
.IP |
| |
Note that \(dq\&auth users\(dq\& can override this setting on a per\-user basis. |
| |
.IP |
| .IP "\fBwrite only\fP" |
.IP "\fBwrite only\fP" |
| This parameter determines whether clients |
This parameter determines whether clients |
| will be able to download files or not. If \(dq\&write only\(dq\& is true then any |
will be able to download files or not. If \(dq\&write only\(dq\& is true then any |
|
Line 338 will be possible if file permissions on the daemon sid
|
Line 381 will be possible if file permissions on the daemon sid
|
| default is for this parameter to be disabled. |
default is for this parameter to be disabled. |
| .IP |
.IP |
| .IP "\fBlist\fP" |
.IP "\fBlist\fP" |
| This parameter determines if this module should be | This parameter determines whether this module is |
| listed when the client asks for a listing of available modules. By | listed when the client asks for a listing of available modules. In addition, |
| setting this to false you can create hidden modules. The default is | if this is false, the daemon will pretend the module does not exist |
| for modules to be listable. | when a client denied by \(dq\&hosts allow\(dq\& or \(dq\&hosts deny\(dq\& attempts to access it. |
| | Realize that if \(dq\&reverse lookup\(dq\& is disabled globally but enabled for the |
| | module, the resulting reverse lookup to a potentially client\-controlled DNS |
| | server may still reveal to the client that it hit an existing module. |
| | The default is for modules to be listable. |
| .IP |
.IP |
| .IP "\fBuid\fP" |
.IP "\fBuid\fP" |
| This parameter specifies the user name or user ID that |
This parameter specifies the user name or user ID that |
| file transfers to and from that module should take place as when the daemon |
file transfers to and from that module should take place as when the daemon |
| was run as root. In combination with the \(dq\&gid\(dq\& parameter this determines what |
was run as root. In combination with the \(dq\&gid\(dq\& parameter this determines what |
| file permissions are available. The default is uid \-2, which is normally | file permissions are available. The default when run by a super\-user is to |
| the user \(dq\&nobody\(dq\&. | switch to the system\(cq\&s \(dq\&nobody\(dq\& user. The default for a non\-super\-user is to |
| | not try to change the user. See also the \(dq\&gid\(dq\& parameter. |
| .IP |
.IP |
| |
The RSYNC_USER_NAME environment variable may be used to request that rsync run |
| |
as the authorizing user. For example, if you want a rsync to run as the same |
| |
user that was received for the rsync authentication, this setup is useful: |
| |
.IP |
| |
.nf |
| |
uid = %RSYNC_USER_NAME% |
| |
gid = * |
| |
.fi |
| |
|
| |
.IP |
| .IP "\fBgid\fP" |
.IP "\fBgid\fP" |
| This parameter specifies the group name or group ID that | This parameter specifies one or more group names/IDs that will be |
| file transfers to and from that module should take place as when the daemon | used when accessing the module. The first one will be the default group, and |
| was run as root. This complements the \(dq\&uid\(dq\& parameter. The default is gid \-2, | any extra ones be set as supplemental groups. You may also specify a \(dq\&*\(dq\& as |
| which is normally the group \(dq\&nobody\(dq\&. | the first gid in the list, which will be replaced by all the normal groups for |
| | the transfer\(cq\&s user (see \(dq\&uid\(dq\&). The default when run by a super\-user is to |
| | switch to your OS\(cq\&s \(dq\&nobody\(dq\& (or perhaps \(dq\&nogroup\(dq\&) group with no other |
| | supplementary groups. The default for a non\-super\-user is to not change any |
| | group attributes (and indeed, your OS may not allow a non\-super\-user to try to |
| | change their group settings). |
| .IP |
.IP |
| .IP "\fBfake super\fP" |
.IP "\fBfake super\fP" |
| Setting \(dq\&fake super = yes\(dq\& for a module causes the |
Setting \(dq\&fake super = yes\(dq\& for a module causes the |
|
Line 438 See the description of the \fB\-\-chmod\fP rsync optio
|
Line 501 See the description of the \fB\-\-chmod\fP rsync optio
|
| manpage for information on the format of this string. |
manpage for information on the format of this string. |
| .IP |
.IP |
| .IP "\fBauth users\fP" |
.IP "\fBauth users\fP" |
| This parameter specifies a comma and | This parameter specifies a comma and/or space\-separated |
| space\-separated list of usernames that will be allowed to connect to | list of authorization rules. In its simplest form, you list the usernames |
| | that will be allowed to connect to |
| this module. The usernames do not need to exist on the local |
this module. The usernames do not need to exist on the local |
| system. The usernames may also contain shell wildcard characters. If | system. The rules may contain shell wildcard characters that will be matched |
| | against the username provided by the client for authentication. If |
| \(dq\&auth users\(dq\& is set then the client will be challenged to supply a |
\(dq\&auth users\(dq\& is set then the client will be challenged to supply a |
| username and password to connect to the module. A challenge response |
username and password to connect to the module. A challenge response |
| authentication protocol is used for this exchange. The plain text |
authentication protocol is used for this exchange. The plain text |
|
Line 449 usernames and passwords are stored in the file specifi
|
Line 514 usernames and passwords are stored in the file specifi
|
| \(dq\&secrets file\(dq\& parameter. The default is for all users to be able to |
\(dq\&secrets file\(dq\& parameter. The default is for all users to be able to |
| connect without a password (this is called \(dq\&anonymous rsync\(dq\&). |
connect without a password (this is called \(dq\&anonymous rsync\(dq\&). |
| .IP |
.IP |
| |
In addition to username matching, you can specify groupname matching via a \(cq\&@\(cq\& |
| |
prefix. When using groupname matching, the authenticating username must be a |
| |
real user on the system, or it will be assumed to be a member of no groups. |
| |
For example, specifying \(dq\&@rsync\(dq\& will match the authenticating user if the |
| |
named user is a member of the rsync group. |
| |
.IP |
| |
Finally, options may be specified after a colon (:). The options allow you to |
| |
\(dq\&deny\(dq\& a user or a group, set the access to \(dq\&ro\(dq\& (read\-only), or set the access |
| |
to \(dq\&rw\(dq\& (read/write). Setting an auth\-rule\-specific ro/rw setting overrides |
| |
the module\(cq\&s \(dq\&read only\(dq\& setting. |
| |
.IP |
| |
Be sure to put the rules in the order you want them to be matched, because the |
| |
checking stops at the first matching user or group, and that is the only auth |
| |
that is checked. For example: |
| |
.IP |
| |
.nf |
| |
auth users = joe:deny @guest:deny admin:rw @rsync:ro susan joe sam |
| |
.fi |
| |
|
| |
.IP |
| |
In the above rule, user joe will be denied access no matter what. Any user |
| |
that is in the group \(dq\&guest\(dq\& is also denied access. The user \(dq\&admin\(dq\& gets |
| |
access in read/write mode, but only if the admin user is not in group \(dq\&guest\(dq\& |
| |
(because the admin user\-matching rule would never be reached if the user is in |
| |
group \(dq\&guest\(dq\&). Any other user who is in group \(dq\&rsync\(dq\& will get read\-only |
| |
access. Finally, users susan, joe, and sam get the ro/rw setting of the |
| |
module, but only if the user didn\(cq\&t match an earlier group\-matching rule. |
| |
.IP |
| |
See the description of the secrets file for how you can have per\-user passwords |
| |
as well as per\-group passwords. It also explains how a user can authenticate |
| |
using their user password or (when applicable) a group password, depending on |
| |
what rule is being authenticated. |
| |
.IP |
| See also the section entitled \(dq\&USING RSYNC\-DAEMON FEATURES VIA A REMOTE |
See also the section entitled \(dq\&USING RSYNC\-DAEMON FEATURES VIA A REMOTE |
| SHELL CONNECTION\(dq\& in \fBrsync\fP(1) for information on how handle an |
SHELL CONNECTION\(dq\& in \fBrsync\fP(1) for information on how handle an |
| rsyncd.conf\-level username that differs from the remote\-shell\-level |
rsyncd.conf\-level username that differs from the remote\-shell\-level |
| username when using a remote shell to connect to an rsync daemon. |
username when using a remote shell to connect to an rsync daemon. |
| .IP |
.IP |
| .IP "\fBsecrets file\fP" |
.IP "\fBsecrets file\fP" |
| This parameter specifies the name of | This parameter specifies the name of a file that contains |
| a file that contains the username:password pairs used for | the username:password and/or @groupname:password pairs used for authenticating |
| authenticating this module. This file is only consulted if the \(dq\&auth | this module. This file is only consulted if the \(dq\&auth users\(dq\& parameter is |
| users\(dq\& parameter is specified. The file is line based and contains | specified. The file is line\-based and contains one name:password pair per |
| username:password pairs separated by a single colon. Any line starting | line. Any line has a hash (#) as the very first character on the line is |
| with a hash (#) is considered a comment and is skipped. The passwords | considered a comment and is skipped. The passwords can contain any characters |
| can contain any characters but be warned that many operating systems | but be warned that many operating systems limit the length of passwords that |
| limit the length of passwords that can be typed at the client end, so | can be typed at the client end, so you may find that passwords longer than 8 |
| you may find that passwords longer than 8 characters don\(cq\&t work. | characters don\(cq\&t work. |
| .IP |
.IP |
| |
The use of group\-specific lines are only relevant when the module is being |
| |
authorized using a matching \(dq\&@groupname\(dq\& rule. When that happens, the user |
| |
can be authorized via either their \(dq\&username:password\(dq\& line or the |
| |
\(dq\&@groupname:password\(dq\& line for the group that triggered the authentication. |
| |
.IP |
| |
It is up to you what kind of password entries you want to include, either |
| |
users, groups, or both. The use of group rules in \(dq\&auth users\(dq\& does not |
| |
require that you specify a group password if you do not want to use shared |
| |
passwords. |
| |
.IP |
| There is no default for the \(dq\&secrets file\(dq\& parameter, you must choose a name |
There is no default for the \(dq\&secrets file\(dq\& parameter, you must choose a name |
| (such as \f(CW/etc/rsyncd.secrets\fP). The file must normally not be readable |
(such as \f(CW/etc/rsyncd.secrets\fP). The file must normally not be readable |
| by \(dq\&other\(dq\&; see \(dq\&strict modes\(dq\&. | by \(dq\&other\(dq\&; see \(dq\&strict modes\(dq\&. If the file is not found or is rejected, no |
| | logins for a \(dq\&user auth\(dq\& module will be possible. |
| .IP |
.IP |
| .IP "\fBstrict modes\fP" |
.IP "\fBstrict modes\fP" |
| This parameter determines whether or not |
This parameter determines whether or not |
|
Line 500 IP address and maskaddr is the netmask in dotted decim
|
Line 609 IP address and maskaddr is the netmask in dotted decim
|
| or similar for IPv6, e.g. ffff:ffff:ffff:ffff:: instead of /64. All IP |
or similar for IPv6, e.g. ffff:ffff:ffff:ffff:: instead of /64. All IP |
| addresses which match the masked IP address will be allowed in. |
addresses which match the masked IP address will be allowed in. |
| .IP o |
.IP o |
| a hostname. The hostname as determined by a reverse lookup will | a hostname pattern using wildcards. If the hostname of the connecting IP |
| be matched (case insensitive) against the pattern. Only an exact | (as determined by a reverse lookup) matches the wildcarded name (using the |
| match is allowed in. | same rules as normal unix filename matching), the client is allowed in. This |
| | only works if \(dq\&reverse lookup\(dq\& is enabled (the default). |
| .IP o |
.IP o |
| a hostname pattern using wildcards. These are matched using the | a hostname. A plain hostname is matched against the reverse DNS of the |
| same rules as normal unix filename matching. If the pattern matches | connecting IP (if \(dq\&reverse lookup\(dq\& is enabled), and/or the IP of the given |
| then the client is allowed in. | hostname is matched against the connecting IP (if \(dq\&forward lookup\(dq\& is |
| | enabled, as it is by default). Any match will be allowed in. |
| .RE |
.RE |
| |
|
| .IP |
.IP |
|
Line 540 rejected. See the \(dq\&hosts allow\(dq\& parameter fo
|
Line 651 rejected. See the \(dq\&hosts allow\(dq\& parameter fo
|
| .IP |
.IP |
| The default is no \(dq\&hosts deny\(dq\& parameter, which means all hosts can connect. |
The default is no \(dq\&hosts deny\(dq\& parameter, which means all hosts can connect. |
| .IP |
.IP |
| |
.IP "\fBreverse lookup\fP" |
| |
Controls whether the daemon performs a reverse lookup |
| |
on the client\(cq\&s IP address to determine its hostname, which is used for |
| |
\(dq\&hosts allow\(dq\&/\(dq\&hosts deny\(dq\& checks and the \(dq\&%h\(dq\& log escape. This is enabled by |
| |
default, but you may wish to disable it to save time if you know the lookup will |
| |
not return a useful result, in which case the daemon will use the name |
| |
\(dq\&UNDETERMINED\(dq\& instead. |
| |
.IP |
| |
If this parameter is enabled globally (even by default), rsync performs the |
| |
lookup as soon as a client connects, so disabling it for a module will not |
| |
avoid the lookup. Thus, you probably want to disable it globally and then |
| |
enable it for modules that need the information. |
| |
.IP |
| |
.IP "\fBforward lookup\fP" |
| |
Controls whether the daemon performs a forward lookup |
| |
on any hostname specified in an hosts allow/deny setting. By default this is |
| |
enabled, allowing the use of an explicit hostname that would not be returned |
| |
by reverse DNS of the connecting IP. |
| |
.IP |
| .IP "\fBignore errors\fP" |
.IP "\fBignore errors\fP" |
| This parameter tells rsyncd to |
This parameter tells rsyncd to |
| ignore I/O errors on the daemon when deciding whether to run the delete |
ignore I/O errors on the daemon when deciding whether to run the delete |
|
Line 570 The format is a text string containing embedded single
|
Line 700 The format is a text string containing embedded single
|
| sequences prefixed with a percent (%) character. An optional numeric |
sequences prefixed with a percent (%) character. An optional numeric |
| field width may also be specified between the percent and the escape |
field width may also be specified between the percent and the escape |
| letter (e.g. \(dq\&\fB%\-50n %8l %07p\fP\(dq\&). |
letter (e.g. \(dq\&\fB%\-50n %8l %07p\fP\(dq\&). |
| |
In addition, one or more apostrophes may be specified prior to a numerical |
| |
escape to indicate that the numerical value should be made more human\-readable. |
| |
The 3 supported levels are the same as for the \fB\-\-human\-readable\fP |
| |
command\-line option, though the default is for human\-readability to be off. |
| |
Each added apostrophe increases the level (e.g. \(dq\&\fB%'\&'\&l %'\&b %f\fP\(dq\&). |
| .IP |
.IP |
| The default log format is \(dq\&%o %h [%a] %m (%u) %f %l\(dq\&, and a \(dq\&%t [%p] \(dq\& |
The default log format is \(dq\&%o %h [%a] %m (%u) %f %l\(dq\&, and a \(dq\&%t [%p] \(dq\& |
| is always prefixed when using the \(dq\&log file\(dq\& parameter. |
is always prefixed when using the \(dq\&log file\(dq\& parameter. |
|
Line 581 The single\-character escapes that are understood are
|
Line 716 The single\-character escapes that are understood are
|
| .IP |
.IP |
| .RS |
.RS |
| .IP o |
.IP o |
| %a the remote IP address | %a the remote IP address (only available for a daemon) |
| .IP o |
.IP o |
| %b the number of bytes actually transferred |
%b the number of bytes actually transferred |
| .IP o |
.IP o |
|
Line 589 The single\-character escapes that are understood are
|
Line 724 The single\-character escapes that are understood are
|
| .IP o |
.IP o |
| %c the total size of the block checksums received for the basis file (only when sending) |
%c the total size of the block checksums received for the basis file (only when sending) |
| .IP o |
.IP o |
| |
%C the full\-file MD5 checksum if \fB\-\-checksum\fP is enabled or a file was transferred (only for protocol 30 or above). |
| |
.IP o |
| %f the filename (long form on sender; no trailing \(dq\&/\(dq\&) |
%f the filename (long form on sender; no trailing \(dq\&/\(dq\&) |
| .IP o |
.IP o |
| %G the gid of the file (decimal) or \(dq\&DEFAULT\(dq\& |
%G the gid of the file (decimal) or \(dq\&DEFAULT\(dq\& |
| .IP o |
.IP o |
| %h the remote host name | %h the remote host name (only available for a daemon) |
| .IP o |
.IP o |
| %i an itemized list of what is being updated |
%i an itemized list of what is being updated |
| .IP o |
.IP o |
|
Line 684 the sender.
|
Line 821 the sender.
|
| .IP "\fBpre\-xfer exec\fP, \fBpost\-xfer exec\fP" |
.IP "\fBpre\-xfer exec\fP, \fBpost\-xfer exec\fP" |
| You may specify a command to be run |
You may specify a command to be run |
| before and/or after the transfer. If the \fBpre\-xfer exec\fP command fails, the |
before and/or after the transfer. If the \fBpre\-xfer exec\fP command fails, the |
| transfer is aborted before it begins. | transfer is aborted before it begins. Any output from the script on stdout (up |
| | to several KB) will be displayed to the user when aborting, but is NOT |
| | displayed if the script returns success. Any output from the script on stderr |
| | goes to the daemon\(cq\&s stderr, which is typically discarded (though see |
| | \-\-no\-detatch option for a way to see the stderr output, which can assist with |
| | debugging). |
| .IP |
.IP |
| The following environment variables will be set, though some are |
The following environment variables will be set, though some are |
| specific to the pre\-xfer or the post\-xfer environment: |
specific to the pre\-xfer or the post\-xfer environment: |
|
Line 704 specific to the pre\-xfer or the post\-xfer environmen
|
Line 846 specific to the pre\-xfer or the post\-xfer environmen
|
| \fBRSYNC_PID\fP: A unique number for this transfer. |
\fBRSYNC_PID\fP: A unique number for this transfer. |
| .IP o |
.IP o |
| \fBRSYNC_REQUEST\fP: (pre\-xfer only) The module/path info specified |
\fBRSYNC_REQUEST\fP: (pre\-xfer only) The module/path info specified |
| by the user (note that the user can specify multiple source files, | by the user. Note that the user can specify multiple source files, |
| so the request can be something like \(dq\&mod/path1 mod/path2\(dq\&, etc.). | so the request can be something like \(dq\&mod/path1 mod/path2\(dq\&, etc. |
| .IP o |
.IP o |
| \fBRSYNC_ARG#\fP: (pre\-xfer only) The pre\-request arguments are set |
\fBRSYNC_ARG#\fP: (pre\-xfer only) The pre\-request arguments are set |
| in these numbered values. RSYNC_ARG0 is always \(dq\&rsyncd\(dq\&, and the last | in these numbered values. RSYNC_ARG0 is always \(dq\&rsyncd\(dq\&, followed by |
| value contains a single period. | the options that were used in RSYNC_ARG1, and so on. There will be a |
| | value of \(dq\&.\(dq\& indicating that the options are done and the path args |
| | are beginning \-\- these contain similar information to RSYNC_REQUEST, |
| | but with values separated and the module name stripped off. |
| .IP o |
.IP o |
| \fBRSYNC_EXIT_STATUS\fP: (post\-xfer only) the server side\(cq\&s exit value. |
\fBRSYNC_EXIT_STATUS\fP: (post\-xfer only) the server side\(cq\&s exit value. |
| This will be 0 for a successful run, a positive value for an error that the |
This will be 0 for a successful run, a positive value for an error that the |
|
Line 727 Even though the commands can be associated with a part
|
Line 872 Even though the commands can be associated with a part
|
| are run using the permissions of the user that started the daemon (not the |
are run using the permissions of the user that started the daemon (not the |
| module\(cq\&s uid/gid setting) without any chroot restrictions. |
module\(cq\&s uid/gid setting) without any chroot restrictions. |
| .IP |
.IP |
| |
.SH "CONFIG DIRECTIVES" |
| |
|
| |
.PP |
| |
There are currently two config directives available that allow a config file to |
| |
incorporate the contents of other files: \fB&include\fP and \fB&merge\fP. Both |
| |
allow a reference to either a file or a directory. They differ in how |
| |
segregated the file\(cq\&s contents are considered to be. |
| |
.PP |
| |
The \fB&include\fP directive treats each file as more distinct, with each one |
| |
inheriting the defaults of the parent file, starting the parameter parsing |
| |
as globals/defaults, and leaving the defaults unchanged for the parsing of |
| |
the rest of the parent file. |
| |
.PP |
| |
The \fB&merge\fP directive, on the other hand, treats the file\(cq\&s contents as |
| |
if it were simply inserted in place of the directive, and thus it can set |
| |
parameters in a module started in another file, can affect the defaults for |
| |
other files, etc. |
| |
.PP |
| |
When an \fB&include\fP or \fB&merge\fP directive refers to a directory, it will read |
| |
in all the \fB*.conf\fP or \fB*.inc\fP files (respectively) that are contained inside |
| |
that directory (without any |
| |
recursive scanning), with the files sorted into alpha order. So, if you have a |
| |
directory named \(dq\&rsyncd.d\(dq\& with the files \(dq\&foo.conf\(dq\&, \(dq\&bar.conf\(dq\&, and |
| |
\(dq\&baz.conf\(dq\& inside it, this directive: |
| |
.PP |
| |
.nf |
| |
&include /path/rsyncd.d |
| |
.fi |
| |
|
| |
.PP |
| |
would be the same as this set of directives: |
| |
.PP |
| |
.nf |
| |
&include /path/rsyncd.d/bar.conf |
| |
&include /path/rsyncd.d/baz.conf |
| |
&include /path/rsyncd.d/foo.conf |
| |
.fi |
| |
|
| |
.PP |
| |
except that it adjusts as files are added and removed from the directory. |
| |
.PP |
| |
The advantage of the \fB&include\fP directive is that you can define one or more |
| |
modules in a separate file without worrying about unintended side\-effects |
| |
between the self\-contained module files. |
| |
.PP |
| |
The advantage of the \fB&merge\fP directive is that you can load config snippets |
| |
that can be included into multiple module definitions, and you can also set |
| |
global values that will affect connections (such as \fBmotd file\fP), or globals |
| |
that will affect other include files. |
| |
.PP |
| |
For example, this is a useful /etc/rsyncd.conf file: |
| |
.PP |
| |
.nf |
| |
port = 873 |
| |
log file = /var/log/rsync.log |
| |
pid file = /var/lock/rsync.lock |
| |
|
| |
&merge /etc/rsyncd.d |
| |
&include /etc/rsyncd.d |
| |
.fi |
| |
|
| |
.PP |
| |
This would merge any /etc/rsyncd.d/*.inc files (for global values that should |
| |
stay in effect), and then include any /etc/rsyncd.d/*.conf files (defining |
| |
modules without any global\-value cross\-talk). |
| |
.PP |
| .SH "AUTHENTICATION STRENGTH" |
.SH "AUTHENTICATION STRENGTH" |
| |
|
| .PP |
.PP |
|
Line 828 http://rsync.samba.org/
|
Line 1039 http://rsync.samba.org/
|
| .SH "VERSION" |
.SH "VERSION" |
| |
|
| .PP |
.PP |
| This man page is current for version 3.0.9 of rsync. | This man page is current for version 3.1.0 of rsync. |
| .PP |
.PP |
| .SH "CREDITS" |
.SH "CREDITS" |
| |
|
| .PP |
.PP |
| rsync is distributed under the GNU public license. See the file | rsync is distributed under the GNU General Public License. See the file |
| COPYING for details. |
COPYING for details. |
| .PP |
.PP |
| The primary ftp site for rsync is |
The primary ftp site for rsync is |