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.