GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer un démon Rsync sur votre serveur Linux

Illustration Rsync par Walker Cahall 

Présentation

Ce didacticiel vous guidera dans la configuration d'un démon rsync sur votre serveur Linux. Vous voudrez peut-être un démon rsync si vous avez des fichiers que vous souhaitez mettre à disposition afin que n'importe qui (ou seulement vous-même) puisse télécharger des fichiers existants ou télécharger de nouveaux fichiers. Ce guide passera en revue à la fois l'exécution de rsync en tant que son propre démon et son exécution via xinetd.

Prérequis

– Un serveur Linux avec rsync installé – si vous n'avez pas encore de serveur, pourquoi ne pas créer un serveur VPS robuste et fiable en moins de 30 secondes.
– (Facultatif) Xinetd installé.
– Autorisations appropriées pour lire et/ou écrire sur le démon rsync (ce tutoriel montrera les commandes exécutées en tant qu'utilisateur root).

Configuration d'un démon Rsync

Tout d'abord, à l'aide de votre éditeur de texte préféré, vous devrez créer le fichier de configuration /etc/rsyncd.conf , si vous n'en avez pas déjà. Vous trouverez ci-dessous un exemple de nos paramètres de configuration de base et des explications pour chacun.

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

[files]
path = /home/public_rsync
comment = RSYNC FILES
read only = true
timeout = 300

pid file :Le fichier d'ID de processus utilisé par le démon.

lock file :Le fichier de verrouillage du démon.

log file :L'emplacement du fichier journal.

port :Si vous ne souhaitez pas que le démon rsync s'exécute sur son port par défaut (873), vous pouvez spécifier un nouveau port ici. Assurez-vous que ce port est ouvert dans votre pare-feu. Rsync utilise le protocole TCP pour ses transferts.

[files] :C'est le nom du module. Le nom utilisé ici est celui que vous allez mettre dans la commande rsync pull comme première partie de la source (/files/../..). Vous pouvez lui donner le nom que vous voulez et en avoir autant que vous le souhaitez.

path :Le chemin d'accès aux fichiers associés à ce module.

comment :Commentaire descriptif pour ce module.

read only :Cela indique au démon que le répertoire de ce module est en lecture seule. Vous ne pouvez pas télécharger dessus. Pour le téléchargement uniquement, utilisez upload only =true.

timeout :temps, en secondes, que le démon rsync attendra avant de mettre fin à une connexion morte.

Ceci n'est qu'une configuration de base. Pour une liste plus détaillée des options, consultez la page du manuel.

Exécuter Rsync en tant que démon

Maintenant, avec cette configuration de base, nous pouvons démarrer le démon par lui-même en exécutant ce qui suit :

rsync --daemon

Vous pouvez vérifier que le démon est en cours d'exécution avec :

ps x | grep rsync

Si vous avez quelque chose de bizarre dans la sortie, comme une déclaration indiquant non confiné, vous pouvez avoir SELinux bloquant le démon. Vous devrez travailler pour ajouter rsync pour qu'il soit accepté par SELinux afin que vous puissiez exécuter le démon.

.
Maintenant que le démon rsync est en cours d'exécution, il est prêt à accepter les connexions. Si vous ne savez pas comment vous connecter à partir d'un client rsync, consultez notre guide sur la connexion avec rsync.

Pour arrêter le démon, vous pouvez exécuter un kill commande.

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

.

Exécuter Rsync via Xinetd

Si vous utilisez déjà xinetd pour gérer les services, vous pouvez également ajouter le contrôle du démon rsync. Bien que xinetd offre un meilleur contrôle central sur les processus en cours d'exécution, notez que cela ne signifie pas nécessairement une plus grande sécurité.

Tout d'abord, modifiez le fichier xinet.d pour rsync, s'il existe déjà (sinon, vous pouvez le créer et utiliser l'exemple de configuration ci-dessous). Modifiez le disabled ligne vers no . Vous voudrez également ajouter le port ligne avec le port par défaut (873) ou votre port personnalisé.

Remarque :Si vous utilisez un port personnalisé, vous devrez également modifier le port rsync dans le fichier de service (/etc/services ) à votre port personnalisé.

.
À l'aide de votre éditeur de texte préféré, créez ou modifiez /etc/xinetd.d/rsync comme ci-dessous :

# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no
flags = IPv6
socket_type = stream
port = 12000
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}

Il ne vous reste plus qu'à redémarrer xinetd et le démon rsync devrait s'exécuter.

/etc/init.d/xinetd restart

.

Test des répertoires Rysnc

Pour tester votre connexion au démon rsync et trouver les chemins disponibles, connectez-vous simplement de votre client à l'hôte rsync en utilisant la méthode suivante. Cette méthode n'exécute qu'une partie d'une commande pull mais vous révèlera les chemins.

rsync -rdt rsync://IPADDR:RsyncPort/

Trouver le chemin du fichier

Cette commande vous montrera quels répertoires vous sont ouverts. Si vous ne connaissez pas le nom du fichier, vous pouvez répéter le processus (en ajoutant le chemin du fichier) jusqu'à ce que vous trouviez le ou les fichiers souhaités.

rsync -rdt rsync://IPADDR:RsyncPort/DirectoryName

Plus de chemins de fichiers découverts

Et une fois que vous avez trouvé le fichier, vous pouvez terminer la commande et l'extraire.

rsync -rdt rsync://IPADDR:RsyncPort/DirectoryName/File /DestinationDirectory/

Chemin complet trouvé

Ajout de noms d'utilisateur et de mots de passe au démon Rsync

Vous pouvez rendre votre démon rsync plus sécurisé en ajoutant un nom d'utilisateur et un mot de passe dans son fichier de configuration. Ouvrez /etc/rsyncd.conf avec votre éditeur de texte préféré, et entrez ces paramètres sous le module.

[files]
path = /home/public_rsync
comment = RSYNC FILES
read only = true
timeout = 300
auth users = rsync1,rsync2
secrets file = /etc/rsyncd.secrets

auth users :Liste des utilisateurs, séparés par des virgules. Ils ne doivent pas nécessairement exister sur le système, mais ils doivent exister dans le fichier des secrets.

secrets file :Chemin d'accès à votre fichier de secrets contenant la liste des noms d'utilisateur et des mots de passe.

Ensuite, toujours à l'aide de votre éditeur de texte préféré, ouvrez ou créez votre /etc/rsyncd.secrets dossier. Utilisez le format suivant username:password .

rsync1:9$AZv2%5D29S740k
rsync2:Xyb#vbfUQR0og0$6
rsync3:VU&A1We5DEa8M6^8

Une fois que vous avez enregistré ce fichier, sécurisez-le afin que seul l'utilisateur root puisse le lire ou le modifier.

chmod 600 /etc/rsyncd.secrets

Notez que nous avons ajouté un utilisateur rsync3 que nous n'avons pas spécifié dans le paramètre auth users dans /etc/rsyncd.conf . Vous verrez pourquoi ci-dessous.

Désormais, lors de la connexion à ce démon rsync, vous devrez vous assurer d'utiliser le nom d'utilisateur approprié.

Utilisateur rsync valide

Si vous essayez de vous connecter avec un utilisateur non autorisé dans les utilisateurs d'authentification, vous obtiendrez l'erreur ci-dessous.

Utilisateur rsync invalide

N'oubliez pas que les utilisateurs autorisés doivent apparaître à la fois dans le fichier /etc/rsyncd.conf et le /etc/rsyncd.secrets files.
.
Et c'est tout pour les bases d'un démon rsync. Vous devriez maintenant être en mesure de créer un démon rsync de base et d'avoir des répertoires spécifiés pour le téléchargement, le téléchargement ou les deux ! Veuillez revenir ici pour plus de mises à jour et pour envisager un serveur d'hébergement VPS Linux leader du marché d'Atlantic.Net.

En savoir plus sur nos services d'hébergement VPS et nos serveurs privés virtuels.


Linux
  1. Comment définir votre variable $PATH sous Linux

  2. Apprenez à définir vos variables $PATH de manière permanente sous Linux

  3. Comment surveiller votre serveur Linux ?

  4. Comment installer un environnement de bureau sur votre serveur Linux sans tête

  5. Comment sauvegarder l'intégralité de votre système Linux à l'aide de Rsync

Comment surveiller votre serveur Linux à l'aide d'osquery

Comment vérifier la charge de votre serveur sous Linux

Comment installer KernelCare sur votre serveur Linux

Comment vérifier la charge de votre serveur dans le système Linux

Comment vérifier la disponibilité de votre serveur Linux

Comment configurer un pare-feu sur votre serveur Linux