X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/41059f75b5e1c18235dd8c2f54aad5cef24bb83d..79b34efe9229265da3e0b0995e8828e29c4d5dd9:/rsyncd.conf.yo diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo index b6840bb9..05994f94 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 @@ -41,28 +41,28 @@ The values following the equals sign in parameters are all either a string true/false. Case is not significant in boolean values, but is preserved in string values. -manpagesection(LAUNCHING THE RSYNC DAMEON) +manpagesection(LAUNCHING THE RSYNC DAEMON) The rsync daemon is launched by specifying the --daemon option to -rsync. The dameon must run with root privileges. +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) @@ -76,7 +76,7 @@ default for that parameter. startdit() dit(bf(motd file)) The "motd file" option allows you to specify a -"mesage of the day" to display to clients on each connect. This +"message of the day" to display to clients on each connect. This usually contains site information and any legal notices. The default is no motd file. @@ -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 @@ -99,6 +99,13 @@ ftp, kern, lpr, mail, news, security, syslog, user, uucp, local0, local1, local2, local3, local4, local5, local6 and local7. The default is daemon. +dit(bf(socket options)) This option can provide endless fun for people +who like to tune their systems to the utmost degree. You can set all +sorts of socket options which may make transfers faster (or +slower!). Read the man page for the setsockopt() system call for +details on some of the options you may be able to set. By default no +special socket options are set. + enddit() @@ -118,7 +125,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 +147,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 +185,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 @@ -181,21 +203,21 @@ itemize( IP address will be allowed in. it() a address/mask in the form a.b.c.d/e.f.g.h where e.f.g.h is a - netmask in dotted decimal motation. All IP addresses which match the masked + netmask in dotted decimal notation. All IP addresses which match the masked IP address will be allowed in. it() a hostname. The hostname as determined by a reverse lookup will - be matched (case insenstive) against the pattern. Only an exact + be matched (case insensitive) against the pattern. Only an exact match is allowed in. it() a hostname pattern using wildcards. These are matched using the same rules as normal unix filename matching. If the pattern matches - then the client is alowed in. + then the client is allowed in. ) You can also combine "hosts allow" with a separate "hosts deny" option. If both options are specified then the "hosts allow" option s -checked first and a match results in the client beng able to +checked first and a match results in the client being able to connect. The "hosts deny" option is then checked and a match means that the host is rejected. If the host does not match either the "hosts allow" or the "hosts deny" patterns then it is allowed to @@ -212,27 +234,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 +295,8 @@ syslog facility = local5 The /etc/rsyncd.secrets file would look something like this: -verb( -tridge:mypass +tridge:mypass nl() susan:herpass -) manpagefiles()