From: Wayne Davison Date: Mon, 3 Jan 2022 08:37:57 +0000 (-0800) Subject: Improve rrsync usage and some more NEWS tweaks. X-Git-Tag: v3.2.4pre2~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c98327902086cb6e7f525aa263169344c6306771;p=thirdparty%2Frsync.git Improve rrsync usage and some more NEWS tweaks. --- diff --git a/NEWS.md b/NEWS.md index 339b31ee..dc523136 100644 --- a/NEWS.md +++ b/NEWS.md @@ -110,7 +110,7 @@ - More ASM optimizations from Shark64. - - Transformed rrsync (in support dir) into a python script with improvements: + - Transformed rrsync into a python script with improvements: - Security has been beefed up. - The known rsync options were updated to include recent additions. - Make rrsync reject `-L`, `-K`, & `-k` by default to make it harder to @@ -123,19 +123,19 @@ options on the server side. - The log format has been tweaked slightly to add seconds to the timestamp and to output the command executed as a tuple (making the args clearer). - - An rrsync.1 man page was added. + - An rrsync.1 man page was added (in the support dir with rrsync). - - Added options to the lsh script (in the support dir) to facilitate rrsync - testing. + - Added options to the lsh script to facilitate rrsync testing. (See the + support dir.) - - Transformed the atomic-rsync script (in the support dir) into a python - script and added the ability to ignore one or more non-zero exit codes. - By default, it now ignores code 24 (file vanished). + - Transformed the atomic-rsync script into a python script and added the + ability to ignore one or more non-zero exit codes. By default, it now + ignores code 24, the file-vanished exit code. (See the support dir.) - - Transformed the munge-symlinks script (in the support dir) into python. + - Transformed the munge-symlinks script into python. (See the support dir.) - - Improved the rsync-no-vanished script (in the support dir) to not join - stdout & stderr together. + - Improved the rsync-no-vanished script to not join stdout & stderr together. + (See the support dir.) - Work around a glibc bug where lchmod() breaks in a chroot w/o /proc mounted. @@ -877,7 +877,7 @@ non-bundled zlib. See the `--new-compress` and `--old-compress` options in the manpage. - - Added the rsync-no-vanished shell script (in the support dir). + - Added the rsync-no-vanished shell script. (See the support dir.) - Made configure more prominently mention when we failed to find yodl (in case the user wants to be able to generate manpages from `*.yo` files). @@ -1210,7 +1210,7 @@ - Fix some issues with the post-processing of the man pages. - - Fixed the user home-dir handling in the lsh script (in the support dir). + - Fixed the user home-dir handling in the lsh script. (See the support dir.) - Some minor manpage improvements. @@ -1328,10 +1328,10 @@ reject an attempt to supply one (can configure `--with-included-popt` if your system's popt library doesn't yet have this fix). - - A couple minor option tweaks to the rrsync script (in the support dir), and - also some regex changes that make vim highlighting happier. + - A couple minor option tweaks to the rrsync script, and also some regex + changes that make vim highlighting happier. (See the support dir.) - - Fixed some issues in the mnt-excl script (in the support dir). + - Fixed some issues in the mnt-excl script. (See the support dir.) - Various manpage improvements. @@ -1541,9 +1541,9 @@ ### ENHANCEMENTS: - - Made the atomic-rsync script (in the support dir) able to perform a fully - atomic update of the copied hierarchy when the destination is setup using a - particular symlink idiom. + - Made the atomic-rsync script able to perform a fully atomic update of the + copied hierarchy when the destination is setup using a particular symlink + idiom. (See the support dir.) ------------------------------------------------------------------------------ @@ -1811,8 +1811,9 @@ - Fixed the inclusion of per-dir merge files from implied dirs. - - Fixed the rrsync script (in the support dir) to work with the latest options - that rsync sends (including its flag-specifying use of `-e` to the server). + - Fixed the rrsync script to work with the latest options that rsync sends, + including its flag-specifying use of `-e` to the server. (See the support + dir.) ### ENHANCEMENTS: @@ -2816,10 +2817,10 @@ - Made the `max verbosity` setting in the rsyncd.conf file settable on a per-module basis (which now matches the documentation). - - The rrsync script (in the support dir) has been upgraded to verify the args - of options that take args (instead of rejecting any such options). It was - also changed to try to be more secure and to fix a problem in the parsing - of a pull operation that has multiple source args. + - The rrsync script has been upgraded to verify the args of options that take + args (instead of rejecting any such options). It was also changed to try to + be more secure and to fix a problem in the parsing of a pull operation that + has multiple source args. (See the support dir.) - Improved the documentation that explains the difference between a normal daemon transfer and a daemon-over remote-shell transfer. diff --git a/support/rrsync b/support/rrsync index fe1bc250..8ea76e05 100755 --- a/support/rrsync +++ b/support/rrsync @@ -360,9 +360,9 @@ if __name__ == '__main__': only_group = arg_parser.add_mutually_exclusive_group() only_group.add_argument('-ro', action='store_true', help="Allow only reading from the DIR. Implies -no-del and -no-lock.") only_group.add_argument('-wo', action='store_true', help="Allow only writing to the DIR.") + arg_parser.add_argument('-munge', action='store_true', help="Enable rsync's --munge-links on the server side.") arg_parser.add_argument('-no-del', action='store_true', help="Disable rsync's --delete* and --remove* options.") arg_parser.add_argument('-no-lock', action='store_true', help="Avoid the single-run (per-user) lock check.") - arg_parser.add_argument('-munge', action='store_true', help="Enable rsync's --munge-links on the server side.") arg_parser.add_argument('-help', '-h', action='help', help="Output this help message and exit.") arg_parser.add_argument('dir', metavar='DIR', help="The restricted directory to use.") args = arg_parser.parse_args() diff --git a/support/rrsync.1.md b/support/rrsync.1.md index 4aedfae9..cbb76ef8 100644 --- a/support/rrsync.1.md +++ b/support/rrsync.1.md @@ -5,7 +5,7 @@ rrsync - a script to setup restricted rsync users via ssh logins # SYNOPSIS ``` -rrsync [-ro|-rw] [-munge] [-no-del] DIR +rrsync [-ro|-rw] [-munge] [-no-del] [-no-lock] DIR ``` # DESCRIPTION @@ -52,10 +52,11 @@ The remainder of this man page is dedicated to using the rrsync script. # OPTION SUMMARY ``` --ro Allow only reading from the DIR. Implies -no-del. +-ro Allow only reading from the DIR. Implies -no-del and -no-lock. -wo Allow only writing to the DIR. --no-del Disable rsync's --delete* and --remove* options. -munge Enable rsync's --munge-links on the server side. +-no-del Disable rsync's --delete* and --remove* options. +-no-lock Avoid the single-run (per-user) lock check. -help, -h Output this help message and exit. ```