rsync daemon only accessable as root

Paul Slootman paul at debian.org
Fri Apr 20 09:38:28 GMT 2007


On Wed 18 Apr 2007, Peter van Leuven wrote:
> 
> [test]
>         path = /home/user/test
>         comment = rsync test
>         use chroot = yes
>         gid = nobody
>         uid = nobody
>         read only = no
>         list = yes
>         auth users = user
>         secrets file = /etc/rsyncd.secrets
>         # Limit access from LAN
>         hosts allow=127.0.0.1, <home-ip>
>         hosts deny=*

[I removed all the extra empty lines, makes it a lot easier to read]

> Then I start the daemon as: sudo rsync -daemon (as user it doesn't seem to
> start).

As non-root you're not allowed to bind to port 873.

> Now when I am at home I can only access the daemon using:
> 
> rsync -av -e "ssh -l root" user@<host-ip>::test /dest
> 
> i.e. it will only function as root, which is undesirable. I'd like to use
> something like:
> 
> rsync -av -e "ssh -l ssh-user" user@<host-ip>::test /dest,
> 
> but this produces the error

If you're using :: notation together with -e ssh, then you're telling
rsync to open an ssh connection to the host, and there start a *new*
rsync "daemon" for this one-time use; see USING RSYNC-DAEMON FEATURES
VIA A REMOTE-SHELL CONNECTION in the manpage.

You should be running:
    rsync -av user@<host-ip>::test /dest
unless your network prohibits connecting to the rsync daemon port (eg.
firewall somewhere along the route). If that's the case, you shouldn't
have rsync already running as a daemon (at least, for this scenario).
Note also in particular the text "spawning a single-use "daemon" server
that expects to read its config file in the home dir of the remote
user." in the manpage in the aforementioned section.


Paul Slootman


More information about the rsync mailing list