Rsync rsyncd - Rsync --daemon
Ou, comment utiliser rsync en tant que service serveur rsync !
Dans un premier temps, il faut bien comprendre que le service de
synchronisation rsync, peut-être utilisé, en tant que service serveur.
C'est une des deux possibilités ; l'autre étant d'encapsuler rsync over ssh.
Donc, cette documentation parle de service de synchronisation rsync en tant que daemon de service de votre distribution Linux.
Installation
À moins que vous ne l'ayez déjà fait, il vous faut installer rsync.
Et, oui ! Tout se passe dans ses fichiers de configuration ...
Configuration
Il y a deux fichiers de configuration dont il faut s'occuper :
- Le premier étant le fichier /etc/default/rsync.
- Le deuxième étant le fichier /etc/rsyncd.conf.
Fichier /etc/default/rsync
L'option principale à absolument changer est l'option RSYNC_ENABLE.
Tant que celle-ci n'est pas paramétrée à true ou inetd, rien ne pourra se passer. Rsync ne démarrera pas en tant que service démon.
Les autres options peuvent rester telles qu'elles sont écrites par défaut.
Nous allons faire néanmoins un rapide aperçu de celles-ci ;-)
Options du fichier /etc/default/rsync
- RSYNC_ENABLE
- Démarrer rsync en tant que dameon
- choix possible : true, inetd
- Défault : false
- RSYNC_CONFIG_FILE
- L'autre fichier de configuration, par défaut, est le fichier /etc/rsyncd.conf.
- Défaut : vide
- Cette option permet ni plus ni moins de spécifier tout autre nom de fichier qui nous servirait de fichier de configuration !
- Il est aussi possible de ne pas modifier cette option, de se créer tout autre fichier de configuration dont le fichier /etc/rsyncd.conf serait un lien symbolique.
- Attention: cette option n'est pas effective, si vous encapsulez rsync over ssh !
- RSYNC_OPTS
- Cette option fournit des paramètres au daemon rsync.
- Défaut : vide
- Les paramètres possibles sont :
- --address=ip_server pour n'écouter que telle adresse ip...
- --port=8370 permet ainsi de modifier le port d'écoute du daemon rsync !
- RSYNC_NICE
- Paramètre le niveau de priorité d'exécution du processus lié au daemon rsync.
- Défaut : vide
Donc, nous paramétrons l'option RSYNC_ENABLE du fichier /etc/default/rsync à true. Si vous voulez qu'il agisse en tant que service inetd, libre à vous de le faire, mais n'oubliez pas de configurer aussi le daemon de service inetd !
Fichier /etc/rsyncd.conf
À moins que vous ne vouliez configurer rsyncd dans un autre fichier de configuration, c'est donc ce fichier /etc/rsyncd.conf qui se trouve être l'autre fichier de configuration, par défaut.
Là, je renvoie clairement à la lecture du manpage rsyncd.conf.
Example de configuration basique du fichier /etc/rsyncd.conf
[ftp] # nom du module
path = /home/ftp # chemin vers lequel enregistrer sur le serveur rsync
comment = ftp export area # commentaire
Ici, le nom du module est ftp ...
pour lequel nous définissons un chemin où enregistrer sur le serveur rsync,
et, auquel nous lui donnons un commentaire.
Ce n'est pas parce que je donne au module, le nom ftp, que cela a de fait avoir avec un service ftp !
Exemple de configuration avancée du fichier de configuration /etc/rsyncd.conf
uid = nobody # le nom utilisateur ou le numéro lié à l'utilisateur ; définit les permissions liées aux fichiers
gid = nobody # le groupe lié à l'utilisateur ; définit les permissions liées aux fichiers.
use chroot = yes # emprisonne les chemins spécifiés dans la variable path
max connections = 4 # spécifie le nombre de connexions simultanées autorisées.
syslog facility = local5
pid file = /var/run/rsyncd.pid # spécifie le nom du fichier dans lequel est enregistré le numéro du processus lié à rsync
[ftp]
path = /var/ftp/pub
comment = whole ftp area
[sambawww]
path = /public_html/samba
comment = Samba WWW pages
[cvs]
path = /data/cvs
comment = CVS repository (requires authentication)
auth users = tridge, susan # une liste d'utilisateurs ayant le droit de s'autentifier !
secrets file = /etc/rsyncd.secrets # le fichier spécifiant le(s) couple(s) d'utilisateurs ayant le droit d'autentification.
hosts allow = 192.168.47.200 10.0.0.3/8 # une liste d'hôte ayant le droit de se connecter !
Nous découvrons dans ce fichier amélioré quantité d'options, dont certaines sont aisées à comprendre (ne serait-ce que par les commentaires que j'y ai inclu).
J'attire donc votre attention, tout particulièrement, sur ceci :
Je vous le répète : lisez le manpage rsyncd.conf ; il existe quantité d'autres options, toutes aussi intéressantes, voire plus ...
Cela ne sert à rien de spécifier les options uid et gid sur l'utilisateur nobody. C'est le choix par défaut, lié à votre système d'exploitation.
L'option hosts allow peut être une ou plusieurs adresses ip,
un nom de machine.
Dans le cas d'adresses ip, il est possible de les spécifier en ipv4, ipv6 ;
il est possible d'utiliser un masque de réseau, en notation décimale, ou,
en notation CIDR.
À contrario, il est possible de spécifier l'option hosts deny
qui elle, refuse toutes les connexions sauf celles passées en paramètres.
Ces paramètres s'écrivent de la même manière que pour son option contraire.
Cas de l'option secrets file : celle-ci permet de spécifier un nom de fichier, dans lequel sont enfermés les fameux couples username:password.
Exemple de configuration du fichier secret
tridge:mypass
susan:herpass
Cet exemple est de fait lié à l'exemple du fichier de configuration ci-dessus.
Gardez à l'esprit les informations suivantes, si vous décidez d'utiliser cette option :
Concernant les mots-de-passe, il est possible que si celui-ci contient plus de 8 caractères, celui-ci ne soit pas fonctionnel, vous empêchant ainsi de vous connecter.
Les permissions de fichier du fichier secret doivent être définies en tant que lecture pour le groupe 'other'.
Néanmoins, il est impératif de garder à l'esprit que si l'option 'strict modes' n'est pas définie, ou est définie sur 'true', cela signifie que seul l'utilisateur 'uid' doit avoir le droit de lecture sur ce fichier.
Voilà, pour ces différentes notions, et pour la configuration de ce(s) fichier(s).
Je vous le répète : lisez le manpage rsyncd.conf ; il existe quantité d'autres options, toutes aussi intéressantes, voire plus ...
Malgré le nombre d'options possibles, il n'est vraiment pas difficile de configurer le fichier /etc/rsyncd.conf ... soyez structurés !
Démarrage du daemon rsync
Un petit coup de /etc/init.d/rsync start
ou de service rsync start
remplit son rôle. Cela dépend de votre distribution.
Connexion rsync
Synchronisation de votre station vers le serveur rsync
rsync -av /home/votre_repertoire_local/dir/ adresse_ip_du_serveur_rsync::nom_du_module_rsync
Synchronisation du serveur rsync vers votre station
rsync -av adresse_ip_du_serveur_rsync::nom_du_module_rsync /home/votre_repertoire_local/dir/
Crédits
Les exemples, et explications sont directement tirées du manpage rsyncd.conf !
| Page : Linux : rsync : rsyncd : |