GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So richten Sie einen Rsync-Daemon auf Ihrem Linux-Server ein

Rsync-Illustration von Walker Cahall 

Einführung

Dieses Tutorial führt Sie durch die Einrichtung eines rsync-Daemons auf Ihrem Linux-Server. Möglicherweise möchten Sie einen rsync-Daemon, wenn Sie Dateien verfügbar haben möchten, damit jeder (oder nur Sie selbst) vorhandene Dateien herunterladen oder neue Dateien hochladen kann. Diese Anleitung behandelt sowohl die Ausführung von rsync als eigenen Daemon als auch die Ausführung über xinetd.

Voraussetzungen

– Ein Linux-Server mit installiertem rsync – wenn Sie noch keinen Server haben, warum nicht einen robusten und zuverlässigen VPS-Server in weniger als 30 Sekunden einrichten.
– (Optional) Xinetd installiert.
– Entsprechende Berechtigungen zum Lesen und/oder Schreiben auf dem rsync-Daemon (dieses Tutorial zeigt Befehle, die als Root-Benutzer ausgeführt werden).

Einen Rsync-Daemon einrichten

Zuerst müssen Sie mit Ihrem bevorzugten Texteditor die Konfigurationsdatei /etc/rsyncd.conf erstellen , falls Sie noch keine haben. Nachfolgend finden Sie ein Beispiel unserer grundlegenden Konfigurationsparameter und Erklärungen zu jedem einzelnen.

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 :Die Prozess-ID-Datei, die der Daemon verwendet.

lock file :Die Daemon-Sperrdatei.

log file :Der Speicherort der Protokolldatei.

port :Wenn Sie nicht möchten, dass der rsync-Daemon auf seinem Standardport (873) läuft, können Sie hier einen neuen Port angeben. Stellen Sie sicher, dass dieser Port in Ihrer Firewall geöffnet ist. Rsync verwendet das TCP-Protokoll für seine Übertragungen.

[files] :Dies ist der Modulname. Der hier verwendete Name ist das, was Sie in den Befehl rsync pull als ersten Teil der Quelle eingeben (/files/../..). Sie können es nach Belieben benennen und so viele haben, wie Sie möchten.

path :Der Dateipfad für Dateien, die diesem Modul zugeordnet sind.

comment :Beschreibender Kommentar für dieses Modul.

read only :Dies teilt dem Daemon mit, dass das Verzeichnis für dieses Modul schreibgeschützt ist. Sie können nicht darauf hochladen. Verwenden Sie für nur Hochladen nur Hochladen =wahr.

timeout :Zeit in Sekunden, die der rsync-Daemon wartet, bevor er eine tote Verbindung beendet.

Dies ist nur eine Grundkonfiguration. Eine detailliertere Liste der Optionen finden Sie auf der Handbuchseite.

Rsync als Daemon ausführen

Mit dieser Grundkonfiguration können wir nun den Daemon selbst starten, indem wir Folgendes ausführen:

rsync --daemon

Sie können überprüfen, ob der Daemon läuft mit:

ps x | grep rsync

Wenn Sie irgendetwas Seltsames in der Ausgabe haben, wie z. B. eine Anweisung, die unconfined besagt, blockiert möglicherweise SELinux den Daemon. Sie müssen daran arbeiten, rsync hinzuzufügen, damit es von SELinux akzeptiert wird, damit Sie den Daemon ausführen können.

.
Jetzt, da der rsync-Daemon läuft, ist er bereit, Verbindungen anzunehmen. Wenn Sie sich nicht sicher sind, wie Sie eine Verbindung von einem rsync-Client herstellen sollen, lesen Sie unsere Anleitung zum Herstellen einer Verbindung mit rsync.

Um den Daemon zu stoppen, können Sie einen kill ausführen Befehl.

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

.

Rsync über Xinetd ausführen

Wenn Sie bereits xinetd zum Verwalten von Diensten verwenden, können Sie auch die rsync-Daemon-Steuerung hinzufügen. Obwohl xinetd eine größere zentrale Kontrolle über laufende Prozesse bietet, ist zu beachten, dass dies nicht unbedingt mehr Sicherheit bedeutet.

Bearbeiten Sie zunächst die Datei xinet.d für rsync, falls sie bereits vorhanden ist (falls nicht, können Sie sie erstellen und die Beispielkonfiguration unten verwenden). Ändern Sie den disabled Zeile zu no . Sie sollten auch den port hinzufügen Zeile entweder mit dem Standardport (873) oder Ihrem benutzerdefinierten Port.

Hinweis:Wenn Sie einen benutzerdefinierten Port verwenden, müssen Sie auch den rsync-Port in der Dienstdatei (/etc/services ) an Ihren benutzerdefinierten Port.

.
Erstellen oder bearbeiten Sie mit Ihrem bevorzugten Texteditor /etc/xinetd.d/rsync wie unten:

# 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
}

Jetzt müssen Sie nur noch xinetd neu starten und der rsync-Daemon sollte laufen.

/etc/init.d/xinetd restart

.

Testen der Rysnc-Verzeichnisse

Um Ihre Verbindung zum rsync-Daemon zu testen und herauszufinden, welche Pfade Ihnen zur Verfügung stehen, stellen Sie einfach mit der folgenden Methode eine Verbindung von Ihrem Client zum rsync-Host her. Diese Methode führt nur einen Teil eines Pull-Befehls aus, zeigt Ihnen aber Pfade an.

rsync -rdt rsync://IPADDR:RsyncPort/

Dateipfad suchen

Dieser Befehl zeigt an, welche Verzeichnisse für Sie geöffnet sind. Wenn Sie den Dateinamen nicht kennen, können Sie den Vorgang (Hinzufügen zum Dateipfad) wiederholen, bis Sie die gewünschte(n) Datei(en) gefunden haben.

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

Weitere Dateipfade entdeckt

Und sobald Sie die Datei gefunden haben, können Sie den Befehl abschließen und hineinziehen.

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

Vollständiger Pfad gefunden

Hinzufügen von Benutzernamen und Passwörtern zum Rsync-Daemon

Sie können Ihren rsync-Daemon sicherer machen, indem Sie in seiner Konfigurationsdatei einen Benutzernamen und ein Kennwort hinzufügen. Öffnen Sie /etc/rsyncd.conf mit Ihrem bevorzugten Texteditor und geben Sie diese Parameter unter dem Modul ein.

[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 der Benutzer, durch Kommas getrennt. Sie müssen nicht unbedingt auf dem System vorhanden sein, aber sie müssen in der Secrets-Datei vorhanden sein.

secrets file :Dateipfad zu Ihrer geheimen Datei, die die Liste der Benutzernamen und Passwörter enthält.

Öffnen oder erstellen Sie dann erneut mit Ihrem bevorzugten Texteditor Ihre /etc/rsyncd.secrets Datei. Verwenden Sie das folgende Format username:password .

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

Nachdem Sie diese Datei gespeichert haben, sichern Sie sie, sodass nur der Root-Benutzer sie lesen oder bearbeiten kann.

chmod 600 /etc/rsyncd.secrets

Beachten Sie, dass wir einen rsync3-Benutzer hinzugefügt haben, den wir nicht im Parameter auth users in /etc/rsyncd.conf angegeben haben . Warum, erfahren Sie weiter unten.

Wenn Sie sich jetzt mit diesem rsync-Daemon verbinden, müssen Sie sicherstellen, dass Sie den richtigen Benutzernamen verwenden.

Gültiger rsync-Benutzer

Wenn Sie versuchen, sich mit einem Benutzer zu verbinden, der in den Authentifizierungsbenutzern nicht zugelassen ist, erhalten Sie die folgende Fehlermeldung.

Ungültiger rsync-Benutzer

Denken Sie nur daran, dass autorisierte Benutzer sowohl in /etc/rsyncd.conf erscheinen müssen und die /etc/rsyncd.secrets Dateien.
.
Und das waren die Grundlagen eines rsync-Daemons. Sie sollten jetzt in der Lage sein, einen einfachen rsync-Daemon zu erstellen und Verzeichnisse zum Hochladen, Herunterladen oder für beides angegeben zu haben! Bitte schauen Sie hier wieder vorbei, um weitere Updates zu erhalten und einen marktführenden Linux-VPS-Hosting-Server von Atlantic.Net in Betracht zu ziehen.

Erfahren Sie mehr über unsere VPS-Hosting-Services und Virtual Private Server.


Linux
  1. So setzen Sie Ihre $PATH-Variable in Linux

  2. So sichern Sie Ihr gesamtes Linux-System mit Rsync

  3. So richten Sie einen SFTP-Server unter Arch Linux ein

  4. So richten Sie SmarterStats auf Ihrem dedizierten Server ein

  5. So richten Sie einen Wekan Kanban-Server unter Linux ein

So überwachen Sie Ihren Linux-Server mit osquery

So überprüfen Sie Ihre Serverlast unter Linux

So installieren Sie KernelCare auf Ihrem Linux-Server

So überprüfen Sie Ihre Serverlast im Linux-System

So überprüfen Sie die Betriebszeit Ihres Linux-Servers

So richten Sie eine Firewall auf Ihrem Linux-Server ein