X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/5315b793d278ef7fb31362e89d28fabc68606110..4c3d16be50ebe52e51383e396a641448c4ba00c0:/rsyncd.conf.yo diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo index 8ca1c6d3..8b741b0b 100644 --- a/rsyncd.conf.yo +++ b/rsyncd.conf.yo @@ -8,7 +8,7 @@ rsyncd.conf manpagedescription() The rsyncd.conf file is the runtime configuration file for rsync when -run with the -daemon option. When run in this way rsync becomes a +run with the --daemon option. When run in this way rsync becomes a rsync server listening on TCP port 873. Connections from rsync clients are accepted for either anonymous or authenticated rsync sessions. @@ -33,7 +33,7 @@ within a parameter value is retained verbatim. Any line beginning with a hash (#) is ignored, as are lines containing only whitespace. -Any line ending in a \e is "continued" on the next line in the +Any line ending in a \ is "continued" on the next line in the customary UNIX fashion. The values following the equals sign in parameters are all either a string @@ -47,22 +47,22 @@ The rsync daemon is launched by specifying the --daemon option to rsync. The daemon must run with root privileges. You can launch it either via inetd or as a standalone daemon. If run -as a daemon then just run the command "rsync -daemon" from a suitable +as a daemon then just run the command "rsync --daemon" from a suitable startup script. When run via inetd you should add a line like this to /etc/services: - rsync 873/tcp +quote(rsync 873/tcp) -and a line something like this to /etc/inetd.conf: +and a single line something like this to /etc/inetd.conf: - rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon +quote(rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon) You will then need to send inetd a HUP signal to tell it to reread its config file. Note that you should not send the rsync server a HUP signal to force -it to reread the /etc/rsyncd.conf. The file is re-read on each client +it to reread the tt(/etc/rsyncd.conf). The file is re-read on each client connection. manpagesection(GLOBAL OPTIONS) @@ -89,7 +89,7 @@ The default is 0 which means no limit. dit(bf(lock file)) The "lock file" option specifies the file to use to support the "max connections" option. The rsync server uses record locking on this file to ensure that the max connections limit is not -exceeded. The default is /var/run/rsyncd.lock +exceeded. The default is tt(/var/run/rsyncd.lock). dit(bf(syslog facility)) The "syslog facility" option allows you to specify the syslog facility name to use when logging messages from the @@ -118,7 +118,7 @@ of available modules. The default is no comment. dit(bf(path)) The "path" option specifies the directory in the servers filesystem to make available in this module. The rsync server will chroot to this path before starting the file transfer with the -client. You must specify this option for each module in /etc/rsyncd.conf. +client. You must specify this option for each module in tt(/etc/rsyncd.conf). dit(bf(read only)) The "read only" option determines whether clients will be able to upload files or not. If "read only" is true then any @@ -140,6 +140,21 @@ dit(bf(gid)) The "gid" option specifies the group name or group id that file transfers to and from that module should take place as. This complements the "uid" option. The default is the group "nobody". +dit(bf(exclude)) The "exclude" option allows you to specify a space +separated list of patterns to add to the exclude list. This is +equivalent to the client specifying these patterns with the --exclude +option. Note that this option is not designed with strong security in +mind, it is quite possible that a client may find a way to bypass this +exclude list. If you want to absolutely ensure that certain files +cannot be accessed then use the uid/gid options in combination with +file permissions. + +dit(bf(exclude from)) The "exclude from" option specifies a filename +on the server that contains exclude patterns, one per line. This is +equivalent to the client specifying the --exclude-from option with a +equivalent file. See also the note about security for the exclude +option above. + dit(bf(auth users)) The "auth users" option specifies a comma and space separated list of usernames that will be allowed to connect to this module. The usernames do not need to exist on the local @@ -163,7 +178,7 @@ you may find that passwords longer than 8 characters don't work. bf(You should make sure that the secrets file is not readable by anyone other than the system administrator.) There is no default for the "secrets file" option, you must choose a name (such as -/etc/rsyncd.secrets). +tt(/etc/rsyncd.secrets)). dit(bf(hosts allow)) The "hosts allow" option allows you to specify a list of patterns that are matched against a connecting clients @@ -212,27 +227,43 @@ The default is no "hosts deny" option, which means all hosts can connect. enddit() +manpagesection(AUTHENTICATION STRENGTH) + +The authentication protocol used in rsync is a 128 bit MD4 based +challenge response system. Although I believe that no one has ever +demonstrated a brute-force break of this sort of system you should +realise that this is not a "military strength" authentication system. +It should be good enough for most purposes but if you want really top +quality security then I recommend that you run rsync over ssh. + +Also note that the rsync server protocol does not currently provide any +encryption of the data that is transferred over the link. Only +authentication is provided. Use ssh as the transport if you want +encryption. + +Future versions of rsync may support SSL for better authentication and +encryption, but that is still being investigated. + manpagesection(EXAMPLES) A simple rsyncd.conf file that allow anonymous rsync to a ftp area at -/home/ftp would be: +tt(/home/ftp) would be: verb( [ftp] - path = /home/ftp - comment = ftp export area + path = /home/ftp + comment = ftp export area ) A more sophisticated example would be: -verb( -uid = nobody -gid = nobody -max connections = 4 -syslog facility = local5 +uid = nobody nl() +gid = nobody nl() +max connections = 4 nl() +syslog facility = local5 nl() -[ftp] +verb([ftp] path = /var/ftp/pub comment = whole ftp area (approx 6.1 GB) @@ -257,10 +288,8 @@ syslog facility = local5 The /etc/rsyncd.secrets file would look something like this: -verb( -tridge:mypass +tridge:mypass nl() susan:herpass -) manpagefiles()