Setup Rsync Ubuntu

Setting up rsync server on Ubuntu

Setup your Ubuntu to accept rsync connections with a separate user/authentication list to your computer’s local user accounts. This is more like samba or FTP where your server accepts file transfers with login details that aren’t local users.

Setup

Create the rsyncd.conf file (chances are that it doesn’t already exist).

sudo editor /etc/rsyncd.conf

Put the following content in, obviously swapping out the relevant configuration variables like uid or gid.

lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid

[code]
    path = /home/folder/code
    comment = User's code folder
    uid = username
    gid = username
    read only = yes
    list = yes
    auth users = username
    secrets file = /etc/rsyncd.secrets
    hosts allow = 192.168.1.0/255.255.255.0

Remember that uid and gid are the user and group of the local machine user that will be used when accessing/creating files, and do not have to be the same username as you use to connect to the rsync server as.

Create Authentication File

You will have seen that in the configuration file, we had a secrets file option. We now need to create that file. This file will contain the usernames and passwords of the accounts you wish to allow to connect to the rsync service. Remember that the username and passwords can be completely separate from the local user accounts, and when your client connects using rsync, they will need to specify the user/password here, not a local user.

sudo vim /etc/rsyncd.secrets

Fill in the usernames and passwords like so:

username:secretpassword
username2:secretPassword2

Give the file the following permissons:

sudo chmod 600 /etc/rsyncd.secrets

Now that we have configured our rsync server, we need to start it so that our server listens for incoming rsync requests,

Managing The Rsync Daemon With Systemctl The easiest way to manage the rsync daemon in Ubuntu 16.04 is to use:

sudo systemctl start rsync

If you want the rsync daemon to start up on boot, then use this command:

sudo systemctl enable rsync

Manually Managing the Rsync Daemon

If you wish to manually manage the rsync daemon, then you can launch it with the following command:

sudo rsync --daemon

… and then you would kill it with:

sudo kill `cat /var/run/rsyncd.pid`

comments powered by Disqus