Wie können Sie die Dateieigentümerschaft in einem Backup (/etc) möglicherweise beibehalten?

Wie können Sie die Dateieigentümerschaft in einem Backup (/etc) möglicherweise beibehalten?

Ich habe mehrere Quellen gesehen, die darauf hinweisen, dass es sinnvoll sein kann, ein Backup zu erstellen /etc. Beispielsweise die Präsentation „Supporting Debian machines for friends and family“ (Unterstützung von Debian-Rechnern für Freunde und Familie).

Für jedes seriöse Backup benötigen wir außerdem einen gut definierten Wiederherstellungsprozess (den wir regelmäßig testen können :-).

Wie stellen Sie diese Systemdateien wieder her,aus einem Backup, das Eigentümerinformationen enthält? Geben Sie ein Beispiel für einen funktionierenden Wiederherstellungsprozess. Geben Sie alle getroffenen Annahmen an. Sie können das Backup-Tool Ihrer Wahl annehmen, z. B. taroder etckeeper.


Beispiel für Dateien mit bestimmten Eigentümern:

$ ls -l|grep -v "root root"
total 2240
-rw-r-----.  1 root brlapi     33 Nov 15 21:32 brlapi.key
-rw-r-----.  1 root chrony    481 Nov 21 11:03 chrony.keys
drwxr-xr-x.  4 root lp       4096 Apr 18 10:58 cups
-rw-------.  1 tss  tss      7046 Feb  5  2016 tcsd.conf

Antwort1

Ich installiere es so:usw.Keeper. Es ist gut in Debian und Derivate integriert. Etckeeper kümmert sich um das Speichern von Berechtigungen (aber nicht von SELinux-Labels). Das Sichern /etcreduziert sich dann auf das wohlbekannte Problem des Sicherns eines Versionskontroll-Repositorys (z. B. git pullvon /etc).

So stellen Sie die Sicherung wieder her:

  1. Führen Sie eine Standardinstallation durch (dieselbe Standardinstallation wie das Original).
  2. Installieren Sie etckeeperdas erforderliche Versionskontrollsystem.
  3. Stellen Sie die Sicherung von /etc( git cloneund git checkoutoder gleichwertig) wieder her. Wie von sourcejedi angemerkt, müssen Sie dies tun, bevor Sie ein Paket installieren, das Benutzer- oder Gruppen-IDs dynamisch zuweist.
  4. Stellen Sie die Liste der installierten Pakete wieder her und installieren Sie sie. Etckeeper verfolgt dies nicht; unter Debian und Derivaten verwenden Sie , apt-clonesieheWie repliziere ich installierte Paketauswahlen von einem Debian-System auf ein anderes? (Debian Wheezy)).
  5. Neustart.

Beachten Sie, dass einige Dinge möglicherweise nicht funktionieren, wenn die Hardware nicht exakt dieselbe ist oder das Dateisystem neu formatiert wurde, was häufig der Fall ist, wenn Sie eine Sicherung wiederherstellen. Damit die Wiederherstellung reibungsloser abläuft, achten Sie darauf, dass Sie in Ihrer Konfiguration keine eindeutigen Hardwarekennungen (z. B. MAC-Adresse, Festplattenseriennummer) oder zufällige Identitäten verwenden (z. B. Dateisystembezeichnungen, keine Dateisystem- oder Partitions-UUIDs).

Antwort2

Diese Antwort ist eine Checkliste einiger Probleme, die getestet werden müssten, da sie nirgendwo sonst erwähnt wurden. Ich kann jetzt gerne Erwähnungen zum „Sichern“ von /etc ignorieren, in denen nicht auch detailliert beschrieben wird, wie es wiederhergestellt werden kann. Die Vollständigkeit dieser Checkliste habe ich nicht geprüft..

Die folgenden Schritte ignorieren auch die häufigen versionsabhängigen und anderen Änderungen, die ich bei Paketaktualisierungen in etckeeper sehe, wie in der Frage nicht ausdrücklich erwähnt. Zumindest gibt es wahrscheinlich einfachere Systeme, bei denen das kein Problem ist, wie Router, auf denen OpenWrt läuft.

  1. Annahme: Dieses Backup umfasst insbesondere /etc.
  2. Annahme: Sie wissen auch, wie Sie mit Verweisen auf Dateisysteme umgehen, die beispielsweise möglicherweise mit einer anderen UUID neu erstellt wurden /etc/fstab.
  3. Annahme: Das Zielsystem enthält keineextraBenutzer, verglichen mit dem Backup. Es handelt sich beispielsweise um eine Neuinstallation des Betriebssystems, Ihr anfänglicher Benutzer wird mit demselben Namen (und derselben UID) erstellt und während eines Upgrades wurden dem Betriebssystem keine zusätzlichen Dienste hinzugefügt. Dies trifft wahrscheinlich auf eine stabile Debian-Version zu, ist jedoch für eine Rolling-Release-Distribution sicherlich nicht zuverlässig.
  4. Annahme: Der Installationsprozess ist hinsichtlich der zugewiesenen UIDs (Installationsreihenfolge der Pakete) vollständig deterministisch.UndDies wird nicht durch neue Updates in den Repositories beeinflusst. Ich glaube, die üblichen Paketmanager sind deterministisch. Auch hier ist Debian Stable wahrscheinlich zuverlässig, ein Rolling Release jedoch nicht, und dazwischen liegt ein Bereich der Unsicherheit. Sie könnten auch dafür sorgen, dass genau dieselbe Version des Installationsprogramms ausgeführt wird, ohne Zugriff auf Update-Repositories (sowohl während der WiederherstellungUndals Sie das Originalsystem installiert haben).
  5. Sie sollten die Wiederherstellungstools für Ihr Backup bereits installiert haben :).
  6. Die folgenden Schritte setzen auch die traditionellen Shadow-Passwortdateien von Linux voraus. BSD-Systeme verwenden andere Dateinamen. Einige spezielle Linux-Systeme haben einedeutlich anderer Stil.
  7. Stellen Sie sicher, dass Sie in einen „Rettungsmodus“ booten können, ohne ein in definiertes Passwort zu verwenden /etc, und dass Sie nichts Komplexeres benötigen, um auf das Backup zuzugreifen. Wir spielen hier mit dem Feuer. Ich weiß nicht, wie die Festplattenverschlüsselung damit umgehen wird, obwohl die Verwendung desselben Passworts wie für das Backup hilfreich sein könnte. Beachten Sie, dass die folgenden Schritte nicht funktionieren, wenn sie von einem separaten „Rettungsmodus“ ausgeführt werden.System".
  8. mv /etc/ /etc.installer # can be removed later
  9. mkdir /etc && chmod 755 /etc
  10. ID_FILES=passwd group shadow
  11. for i in $ID_FILES; do cp /etc.installer/${i} /etc; done
  12. Jetzt können Sie für jede Datei iin aus Ihrem Backup auf dem Zielsystem wiederherstellen.$ID_FILES/etc/${i}
  13. Jetzt können Sie wiederherstellenalledie Dateien, einschließlich ihrer Eigentümerinformationen.
  14. Jetzt kannst duSELinux-Labels erneut anwendenoder gleichwertig, falls erforderlich.

Wenn das Backup ein etckeeper-Repo ist (und keine zusätzlichen Dateien enthält), besteht Schritt 12 darin, es nach zu kopieren/klonen /etcund dann auszuführen etckeeper init. Sie können die Schritte 10-12 wahrscheinlich überspringen.

OpenWrt

Die Sicherung/Wiederherstellung der Systemkonfiguration wird auf OpenWrt-Routern mit einer speziellen Funktion in der Weboberfläche unterstützt.

Auf meinem OpenWrt 15.05.1-System sehe ich, dass die einzigen Benutzer, die Dateien in /etc(oder irgendwo anders) besitzen root, und sind nobody. Man kann davon ausgehen, dass eine Neuinstallation von OpenWrt diese Benutzer bereits enthält.

Ich weiß nicht, ob OpenWrt-Setups, denen zusätzliche Benutzer hinzugefügt wurden, von diesem Tool korrekt gehandhabt werden.

verwandte Informationen