ADMIN-Tipp: User-IDs mit Rsync anpassen

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Weil Benutzer-IDs auf unterschiedlichen Linux-Systemen meist voneinander abweichen, stimmt bei der Übertragung von Daten per Rsync oft der Eigentümer nicht. Aktuelle Versionen des Tools bieten eine Lösung für das Problem.

Wer Daten mit Rsync zwischen verschiedenen Linux- oder Unix-Rechnern überträgt, wird oft damit konfrontiert, dass die Dateien nach der Synchronisierung auf einmal einem anderen User gehören. Der Grund dafür ist, dass die numerischen IDs auf dem Zielrechner einem anderen Benutzer zugeordnet sind. Gibt es gar keinen Benutzer mit dieser ID, zeigt das System stattdessen nur die numerische ID an. So oder so ist das meistens nicht das was man möchte. Wer zum Beispiel Dateien aus einem Webserver-Verzeichnis überträgt, die für den entsprechenden User beschreibbar sind, will denselben Zustand auch oft auf dem Zielrechner erreichen. Natürlich kann man die Eigentümerschaft von Hand mit "chown" übertragen, aber diese Anpassung ist nach einem erneuten Rsync wieder dahin. 

Ab Version 3.1 bietet Rsync dafür eine Lösung: die neuen Kommandozeilenoptionen "--usermap", "--groupmap" und "--chown". Hinter der Option folgen ein oder mehrere Mappings von Benutzernamen oder IDs, etwa so: "--usermap=0-99:nobody,wayne:admin,*:normal". Wildcards mit Sternchen funktionieren dabei nur mit Benutzernamen, nicht mit IDs. Um so die Daten von einem Webserver zum anderen mit unterschiedlichen Benutzer- und Gruppen-IDs zu mappen, verwenden Sie den folgenden Befehl:

rsync -az --usermap=apache:www-data --groupmap=apache:www-data webserver.domain.com:/srv/www/htdocs/ /var/www/html

Damit das funktioniert, müssen Sie beim Kopieren der Daten über Root-Rechte verfügen.

05.12.2014

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023