manpage updates, mostly suggested by Francois
[rsync/rsync.git] / rsyncd.conf.yo
index b6840bb..5d80532 100644 (file)
@@ -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
@@ -203,7 +225,7 @@ connect.
 
 The default is no "hosts allow" option, which means all hosts can connect.
 
-dit(bf(hosts allow)) The "hosts deny" option allows you to specify a
+dit(bf(hosts deny)) The "hosts deny" option allows you to specify a
 list of patterns that are matched against a connecting clients
 hostname and IP address. If the pattern matches then the connection is
 rejected. See the "hosts allow" option for more information.
@@ -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()