If there is no lchown(), don't try to set the user & group of a symlink.
[rsync/rsync.git] / rsyncd.conf.yo
index 7802d52..62af546 100644 (file)
@@ -1,5 +1,5 @@
 mailto(rsync-bugs@samba.org)
-manpage(rsyncd.conf)(5)(29 Apr 2004)()()
+manpage(rsyncd.conf)(5)(30 Sep 2004)()()
 manpagename(rsyncd.conf)(configuration file for rsync server)
 manpagesynopsis()
 
@@ -134,8 +134,8 @@ dit(bf(use chroot)) If "use chroot" is true, the rsync server will chroot
 to the "path" before starting the file transfer with the client.  This has
 the advantage of extra protection against possible implementation security
 holes, but it has the disadvantages of requiring super-user privileges, 
-of not being able to follow symbolic links outside of the new root path
-when reading, and of complicating the preservation of usernames and groups
+of not being able to follow symbolic links that are either absolute or outside
+of the new root path, and of complicating the preservation of usernames and groups
 (see below).  When "use chroot" is false, for security reasons,
 symlinks may only be relative paths pointing to other files within the root
 path, and leading slashes are removed from most absolute paths (options
@@ -154,12 +154,19 @@ specified.
 
 Note that you are free to setup user/group information in the chroot area
 differently from your normal system.  For example, you could abbreviate
-the list of users and groups.  Also, you can protect this information
-from being downloaded by adding an exclude rule to the rsync.conf file
-(e.g. "exclude = /etc/").  To protect it from being changed by an upload
-(if the module is not read only), be sure to set the permissions (or
-owner) on the files and/or parent directories so that they cannot be
-written by the daemon.
+the list of users and groups.  Also, you can protect this information from
+being downloaded/uploaded by adding an exclude rule to the rsync.conf file
+(e.g. "exclude = /etc/").  Note that having the exclusion affect uploads
+is a relatively new feature in rsync, so make sure your server is running
+at least 2.6.3 to effect this.
+
+dit(bf(port)) You can override the default port the daemon will listen on
+by specifying this value (defaults to 873).  This is ignored if the daemon
+is being run by inetd, and is superseded by the --port command-line option.
+
+dit(bf(address)) You can override the default IP address the daemon
+will listen on by specifying this value.  This is ignored if the daemon is
+being run by inetd, and is superseded by the --address command-line option.
 
 dit(bf(max connections)) The "max connections" option allows you to
 specify the maximum number of simultaneous connections you will allow.
@@ -179,6 +186,12 @@ attempted uploads will fail. If "read only" is false then uploads will
 be possible if file permissions on the server allow them. The default
 is for all modules to be read only.
 
+dit(bf(write only)) The "write only" option determines whether clients
+will be able to download files or not. If "write only" is true then any
+attempted downloads will fail. If "write only" is false then downloads
+will be possible if file permissions on the server allow them.  The
+default is for this option to be disabled.
+
 dit(bf(list)) The "list" option determines if this module should be
 listed when the client asks for a listing of available modules. By
 setting this to false you can create hidden modules. The default is
@@ -195,24 +208,18 @@ file transfers to and from that module should take place as when the daemon
 was run as root. This complements the "uid" option. The default is gid -2,
 which is normally 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 only superficially equivalent
-to the client specifying these patterns with the --exclude option.
-Only one "exclude" option may be specified, but
-you can use "-" and "+" before patterns to specify exclude/include.
+dit(bf(exclude)) The "exclude" option allows you to specify a
+space-separated list of patterns that the server will not allow to be read
+or written.  This is only superficially equivalent to the client
+specifying these patterns with the --exclude option.  Only one "exclude"
+option may be specified, but you can use "-" and "+" before patterns to
+specify exclude/include.
 
 Because this exclude list is not passed to the client it only applies on
 the server: that is, it excludes files received by a client when receiving
 from a server and files deleted on a server when sending to a server, but
-it doesn't exclude files sent from a client when sending to a server or
-files deleted on a client when receiving from a server.  
-
-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.
+it doesn't exclude files from being deleted on a client when receiving
+from a server.  
 
 dit(bf(exclude from)) The "exclude from" option specifies a filename
 on the server that contains exclude patterns, one per line.
@@ -220,14 +227,14 @@ This is only superficially equivalent
 to the client specifying the --exclude-from option with an equivalent file.
 See the "exclude" option above.
 
-dit(bf(include)) The "include" option allows you to specify a space
-separated list of patterns which rsync should not exclude. This is
-only superficially equivalent to the client specifying these patterns
-with the --include option because it applies only on the server.
-This is useful as it
-allows you to build up quite complex exclude/include rules.  Only one
-"include" option may be specified, but you can use "+" and "-" before
-patterns to switch include/exclude.  See the "exclude" option above.
+dit(bf(include)) The "include" option allows you to specify a
+space-separated list of patterns which rsync should not exclude. This is
+only superficially equivalent to the client specifying these patterns with
+the --include option because it applies only on the server.  This is
+useful as it allows you to build up quite complex exclude/include rules.
+Only one "include" option may be specified, but you can use "+" and "-"
+before patterns to switch include/exclude.  See the "exclude" option
+above.
 
 dit(bf(include from)) The "include from" option specifies a filename
 on the server that contains include patterns, one per line. This is
@@ -236,7 +243,7 @@ only superficially equivalent to the client specifying the
 See 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
+space-separated list of usernames that will be allowed to connect to
 this module. The usernames do not need to exist on the local
 system. The usernames may also contain shell wildcard characters. If
 "auth users" is set then the client will be challenged to supply a
@@ -380,9 +387,15 @@ default. A good choice for anonymous rsync servers may be 600 (giving
 a 10 minute timeout).
 
 dit(bf(refuse options)) The "refuse options" option allows you to
-specify a space separated list of rsync command line options that will
-be refused by your rsync server.  The full names of the options must be
-used (i.e., you must use "checksum" not "c" to disable checksumming).  
+specify a space-separated list of rsync command line options that will
+be refused by your rsync server.
+You may specify the full option name, its one-letter abbreviation, or a
+wild-card string that matches multiple options.
+For example, this would refuse --checksum (-c) and all the options that
+start with "delete":
+
+quote(refuse options = c delete*)
+
 When an option is refused, the server prints an error message and exits.
 To prevent all compression, you can use "dont compress = *" (see below)
 instead of "refuse options = compress" to avoid returning an error to a
@@ -394,7 +407,7 @@ during transfer. Compression is expensive in terms of CPU usage so it
 is usually good to not try to compress files that won't compress well,
 such as already compressed files. 
 
-The "dont compress" option takes a space separated list of
+The "dont compress" option takes a space-separated list of
 case-insensitive wildcard patterns. Any source filename matching one
 of the patterns will not be compressed during transfer.