Good to Know Database

CentOS 6: Rsync-Server einrichten


Rsync dient zur Synchronisation von einzelnen Dateien und kompletten Verzeichnissen über ein Netzwerk. Der Vorteil von Rsync ist, dass nicht alle Dateien komplett übertragen werden, sondern nur die geänderten Teile von bestehenden Dateien und neu erstellte Dateien. Ich möchte hier kurz beschreiben wie Sie einen Rsync-Server einrichten können.

Rsync installieren

Bevor Sie mit der Konfiguration beginnen können, müssen Sie die Pakete xinetd und rsync installieren.

[root@centos6 ~]# yum install xinetd rsync

Rsync konfigurieren

Nach der Installation erstellen Sie die Konfigurationsdatei um die benötigten Einstellungen vorzunehmen.

[root@centos6 ~]# vi /etc/rsyncd.conf

Kommen wir zuerst zu den Optionen für den Benutzer und die Gruppe als welche man später auf den Rsync-Server zugreifen wird.

uid = nobody
gid = users

Mit der Option uid können Sie einen existierenden Benutzernamen einstellen, der dann bei einem Zugriff über Rsync verwendet wird. Die Option gid gibt die Gruppe an welche ebenfalls auf dem System vorhanden sein muss. Wenn Sie die Option uid nicht angeben (default) wird der User nobody verwendet.

Mit der nächsten Option können Sie einstellen ob die Clients Dateien hoch laden dürfen oder nicht. Standardmäßig steht diese Option auf true.

read only = true

Das Gegenteil zu read only ist write only. Diese Option wird in dieser Beispielkonfiguration nicht aufgelistet, da sie dadurch auf false gesetzt wird. Wollen Sie keine Downloads zulassen, müssen Sie die Option write only auf true setzen.

use chroot = true

Die Option use chroot sollten Sie auf true setzen. Dadurch wird verhindert, dass sich eventuell ein Benutzer Zugang zu anderen Verzeichnissen außerhalb der Rsync-Freigaben verschaffen kann.

Die nächsten Optionen sind zur Konfiguration des Logfiles. Sie können diese einfach übernehmen.

transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log

Jetzt kommen wir zur Zugriffskontrolle auf den Rsync-Server. Sollen zum Beispiel nur Rechner mit der IP-Adresse 192.168.10.x Zugriff haben, müssen Sie dies wie folgt angeben.

hosts allow = 192.168.10.0/24

Wenn Sie noch eine Willkommensnachricht einstellen wollen die der Rsync-Benutzer nach dem Anmelden sehen wird, müssen Sie auf Ihrem System eine Textdatei mit der Nachricht erstellen und diese mit der Option motd file in der Konfigurationsdatei eintragen.

motd file = /data/rsync/welcome.txt

Soviel zum allgemeinen Teil, kommen wir nun zur Freigabe der Verzeichnisse. Ich will Ihnen hier zeigen wie Sie das Verzeichnis /data/rsync mit Logindaten freigeben können.

Zuerst müssen Sie einen Namen für die Freigabe angeben. Dieser muss zwischen zwei eckigen Klammern stehen.

[main]

Danach wird der Pfad zum Verzeichnis angegeben welches Sie freigeben wollen.

  path = /data/rsync

Damit die Benutzer wissen was sich in dem Verzeichnis befindet können Sie einen Kommentar für die Freigabe hinterlegen.

  comment = Hauptverzeichins fuer rsync

Mit der Option auth users werden die Benutzer eingetragen welche Zugriff auf diese Freigabe bekommen sollen. Wollen Sie keine Benutzerbeschränkung einrichten, ignorieren Sie die zwei folgenden Optionen.

  auth users = user1, user2, user3

Die nächste Option enthält den Pfad zur rsyncd.secrets in welcher die Benutzernamen und die dazugehörigen Passwörter gespeichert werden.

  secrets file = /etc/rsyncd.secrets

Da Sie die angegebenen Benutzer nicht im System einrichten müssen, müssen Sie für jeden Benutzer einen Eintrag in der rsyncd.secrets anlegen. Dazu speichern Sie jetzt die rsyncd.conf und öffnen die rsyncd.secrets.

[root@centos6 ~]# vi /etc/rsyncd.secrets

In diese Datei müssen Sie jeden Benutzer mit Passwort eintragen der auf die Rsync-Freigabe zugreifen darf.

user1:password1
user2:password2
user3:password3

Nachdem Sie alle Benutzer eingetragen haben, speichern Sie die Datei ab. Damit nicht jeder Benutzer die Passwörter einsehen kann, sollten Sie die Zugriffsrechte der Datei ändern.

[root@centos6 ~]# chmod 0600 /etc/rsyncd.secrets

Sollten Sie noch weitere Optionen oder nähere Informationen zu den beschriebenen Optionen benötigen, können Sie diese in der Manpage zur rsyncd.conf nachlesen.

[root@centos6 ~]# man rsyncd.conf

xinetd konfigurieren

Öffnen Sie jetzt die Konfigurationsdatei /etc/xinetd.d/rsync mit einem Editor.

[root@centos6 ~]# vi /etc/xinetd.d/rsync

Suchen Sie hier die Option disable und setzen diese auf no

disable = no

Nachdem Sie die Änderung vorgenommen und die Datei gespeichert haben müssen Sie den xinetd neu starten.

[root@centos6 ~]# service xinetd restart

Firewall konfigurieren

Jetzt müssen Sie noch den TCP-Port 873 in der Firewall freigeben. Dazu rufen Sie den folgenden Befehl auf.

[root@centos6 ~]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT

Speichern Sie anschließend die erstellte Firewall-Regel mit dem folgenden Befehl dauerhaft in die /etc/sysconfig/iptables.

[root@centos6 ~]# service iptables save

Verbindung zum Rsync-Server aufbauen

Um eine Verbindung zum Rsync-Server aufzubauen benötigen Sie den Befehl rsync. Ich möchte nun ein paar Kombinationen mit diesem Befehl für verschiedene Anwendungen vorstellen.

Mit dem folgenden Befehl sehen Sie alle Freigaben und den dazugehörigen Kommentar eines Rsync-Servers.

[root@centos6 ~]# rsync 192.168.10.1::

Um den Inhalt einer Freigabe anzuzeigen müssen Sie die folgende Befehlskombination verwenden.

[root@centos6 ~]# rsync 192.168.10.1::main

Um den Inhalt von Unterordnern einzusehen rufen Sie den folgenden Befehl auf.

[root@centos6 ~]# rsync 192.168.10.1::main/subfolder/

Sollten Sie Ihre Freigabe nur bestimmten Benutzern zur Verfügung stellen, müssen Sie zusätzlich dem Befehl den Benutzernamen übergeben.

[root@centos6 ~]# rsync user1@192.168.10.1::main


Dieser Eintrag wurde am 27.05.2012 erstellt und zuletzt am 16.02.2014 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_33_1649.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer