I was wondering if it's possible to restrict rsync in various ways on
the server side when it is invoked via ssh.  Two restrictions I had in
mind are disallowing deletes and/or restricting all actions to a
particular subdirectory.  I was hoping to be able to do this without
having to be root (for a chroot) or having to set up special sshd
server instances/chroots.

If there's not already a way to do this, one possibility I had thought
of is a ssh key command= wrapper, so that you could generate an ssh
key like this:

  command="rsync-ssh-wrapper --root=/home/foo/bar --disable-delete",...

and then when invoked rsync-ssh-wrapper would then look at
SSH_ORIGINAL_COMMAND to see the actual incoming request (presuming
there were any relevant options there; are rsync --server invocations
documented anywhere?), and combine that with the wrapper options to
decide how to invoke rsync --server.  Of course this approach presumes
that rsync --server would support suitable arguments.

Is there interest in such a facility?  It seems like something similar
might be useful for sftp and scp as well, but I haven't managed to
think of a way to implement a common solution.  Also, I could imagine
that this solution for rsync might be somewhat difficult to implement
(perhaps complicated by symlinks, etc.), but it's the best thing I've
thought of so far.

Thanks

-- 
Rob Browning
rlb @defaultvalue.org, @linuxdevel.com, and @debian.org
Previously @cs.utexas.edu
GPG starting 2002-11-03 = 14DD 432F AE39 534D B592  F9A0 25C8 D377 8C7E 73A4
-- 
To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.tuxedo.org/~esr/faqs/smart-questions.html

Reply via email to