Installation d'un serveur de synchronisation avec RSYNC
rsync (pour remote synchronization ou synchronisation à distance), est un logiciel de synchronisation de fichiers. Il est fréquemment utilisé pour mettre en place des systèmes de sauvegarde distante. rsync travaille de manière unidirectionnelle c'est-à-dire qu'il synchronise, copie ou actualise les données d'une source (locale ou distante) vers une destination (locale ou distante) en ne transférant que les octets des fichiers qui ont été modifiés.
Ici, nous allons installer un serveur de synchronisation de sauvegarde distante.
Cette installation a été testé sur Debian 8
Installation et configuration de RSYNC
Normalement, RSYNC est installé d'origine, si ce n'est pas le cas vous pouvez l'installer avec la ligne suivante :
apt-get install rsync
Ensuite, on autorise le lancement de RSYNC avec la commande suivante :
sed -i -e 's/^[#]*\(RSYNC_ENABLE=\).*/\1true/' '/etc/default/rsync'
On ajoute un utilisateur rsync et un groupe rsync, puis on ajoute l'utilisateur rsync au groupe rsync.
useradd rsync passwd rsync groupadd rsync gpasswd -a rsync rsync
Maintenant nous allons créer le répertoire /home/rsync avec les droits 755 pour l’utilisateur et groupe rsync.
mkdir /home/rsync chown -R rsync:rsync /home/rsync chmod -R 755 /home/rsync
Il ne reste plus qu'à créer un fichier de configuration pour le serveur rsync à l’emplacement /etc/rsyncd.conf avec cette ligne de commande :
nano /etc/rsyncd.conf
puis on ajoute les lignes suivantes au début du fichier :
uid = rsync gid = rsync use chroot = yes syslog facility = local5
Vous pouvez avoir plus d'information sur le contenu de /etc/rsyncd.conf avec la commande man rsyncd.conf
Maintenant, passons à la configuration des répertoires, nous allons vous montrer plusieurs exemples, à vous de l'adapter en fonction de vos besoins.
Cas N°1 - Mono-Utilisateur
On ajoute le code suivant à la fin du fichier /etc/rsyncd.conf :
[share_rsync] path = /home/rsync/share comment = Synchro du répertoire share read only = false
Cas N°2 - Limiter l'accès à une ou plusieurs IPs
Ici nous allons limiter l'accès du serveur RSYNC qu'à quelques adresses IPs. Celles-ci ne pourront que lire le contenu du répertoire.
On ajoute le code suivant à la fin du fichier /etc/rsyncd.conf :
[share_serveur_ovh] read only = true path = /home/rsync/serveur-ovh comment = Sauvegarde du serveur IVH hosts allow = 5.37.24.12 191.11.22.0/24
Ici on autorise l'adresse IPv4 5.37.12.191 ou le sous-réseau 191.11.22.0/24 à venir se connecter sur le serveur de synchronisation pour venir lire le contenu.
Cas N°3 - Multi-utilisateurs avec mot de passe
On ajoute le code suivant à la fin du fichier /etc/rsyncd.conf :
[share_serveur_ovh_rw] path = /home/rsync/serveur-ovh comment = Synchronisation en mode écriture read only = no auth users = bernard, annick secrets file = /etc/rsyncd.secrets
Puis on créé le fichier /etc/rsyncd.secrets avec la commande :
nano /etc/rsyncd.secrets
On ajoute le code suivant au fichier /etc/rsyncd.secrets :
bernard:zigouille25 annickick:123456789 josephine:tonton-flingueur
Lancement du serveur de synchronisation RSYNC
Et voilà, une fois votre configuration OK, vous pouvez lancer manuellement votre serveur de synchronisation RSYNC avec la commande suivante
service rsync start
Si tout est OK, vous devrez avoir un message du genre [ ok ] Starting rsync daemon rsync start. Vous pouvez aussi vérifier le contenu de syslog avec le code suivant
tail -n 25 /var/log/syslog
Vous devriez retrouver dans la liste la ligne suivante (j'ai remplacé le contenu aléatoire par blabla:
blabla .... rsyncd[blabla]: rsyncd version 3.0.9 starting, listenig on port 873
Pour être sûr que votre serveur de synchronisation démarre au prochain lancement de votre serveur, vous pouvez utiliser la commande suivante :
update-rc.d rsync enable
Notes de version
- [23/11/2017] : Création de l'article
- [30/11/2017] : Fin de l'article
Auteurs et sources
- Auteur : montuy337513
- Source : rsyncd.conf
Navigation
Autres liens rapides pouvant vous intéresser