X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/9ec8bd87bb4f60e03e328c86c00611399916b487..04f48837d10a562860556cd7b23f59653f3564c1:/rsyncd.conf.yo diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo index 8053f758..448b45e6 100644 --- a/rsyncd.conf.yo +++ b/rsyncd.conf.yo @@ -163,7 +163,7 @@ 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/uploaded by adding an exclude rule to the rsync.conf file +being downloaded/uploaded by adding an exclude rule to the rsyncd.conf file (e.g. "exclude = /etc/**"). Note that having the exclusion affect uploads is a relatively new feature in rsync, so make sure your daemon is at least 2.6.3 to effect this. Also note that it is safest to exclude a @@ -269,7 +269,7 @@ system. The usernames may also contain shell wildcard characters. If "auth users" is set then the client will be challenged to supply a username and password to connect to the module. A challenge response authentication protocol is used for this exchange. The plain text -usernames are passwords are stored in the file specified by the +usernames and passwords are stored in the file specified by the "secrets file" option. The default is for all users to be able to connect without a password (this is called "anonymous rsync"). @@ -458,7 +458,8 @@ dit(bf(pre-xfer exec), bf(post-xfer exec)) You may specify a command to be run before and/or after the transfer. If the bf(pre-xfer exec) command fails, the transfer is aborted before it begins. -The following environment variables are set for both commands: +The following environment variables will be set, though some are +specific to the pre-xfer or the post-xfer environment: quote(itemize( it() bf(RSYNC_MODULE_NAME): The name of the module being accessed. @@ -466,33 +467,32 @@ quote(itemize( it() bf(RSYNC_HOST_ADDR): The accessing host's IP address. it() bf(RSYNC_HOST_NAME): The accessing host's name. it() bf(RSYNC_USER_NAME): The accessing user's name (empty if no user). -)) - -These environment variables will also be set for the bf(post-xfer exec) -command: - -quote(itemize( - it() bf(RSYNC_EXIT_STATUS): rsync's exit value. This will be 0 for a + it() bf(RSYNC_REQUEST): (pre-xfer only) The module/path info specified + by the user (note that the user can specify multiple source files, + so the request can be something like "mod/path1 mod/path2", etc.). + it() bf(RSYNC_ARG#): (pre-xfer only) The pre-request arguments are set + in these numbered values. RSYNC_ARG0 is always "rsyncd", and the last + value contains a single period. + it() bf(RSYNC_EXIT_STATUS): (post-xfer only) rsync's exit value. This will be 0 for a successful run, a positive value for an error that rsync returned (e.g. 23=partial xfer), or a -1 if rsync failed to exit properly. - it() bf(RSYNC_RAW_STATUS): the raw exit value from waitpid(). + it() bf(RSYNC_RAW_STATUS): (post-xfer only) the raw exit value from waitpid(). )) Even though the commands can be associated with a particular module, they are run using the permissions of the user that started the daemon (not the -module's uid/gid setting) without any chroot restrictions (even if the -module will/has run chroot()ed). +module's uid/gid setting) without any chroot restrictions. 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 -realize 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. +challenge response system. This is fairly weak protection, though (with +at least one brute-force hash-finding algorithm publicly available), so +if you want really top-quality security, then I recommend that you run +rsync over ssh. (Yes, a future version of rsync will switch over to a +stronger hashing method.) Also note that the rsync daemon protocol does not currently provide any encryption of the data that is transferred over the connection. Only