Ich möchte rsnapshot verwenden, um meinen lokalen Computer sowie zwei Remote-Computer auf einem tragbaren Speichergerät zu sichern. Mein Plan war, es rsnaphot
auf dem lokalen Computer zu verwenden, einen backup
Benutzer auf den Remote-Computern zu erstellen und meinem lokalen Root über öffentliche SSH-Schlüssel Zugriff auf das backup
Konto zu gewähren. Ich wollte die Root-Anmeldung nicht aktivieren, da ich dachte, dies könnte eine Sicherheitsfunktion sein.
Damit beginnt das Problem: Der Remote-Backup-Benutzer sollte so viel wie möglich lesen können. Wie kann ich das erreichen? Ich könnte diesen Benutzer zu jeder vorhandenen Gruppe hinzufügen, so dass er jede Datei lesen kann, die für die Gruppe lesbar ist. Auf diese Weise könnte dieser Benutzer diese Dateien aber auch schreiben, löschen usw. Oder ich könnte die Gruppe jeder Datei in backup
oder so etwas ändern, aber das wäre natürlich zu invasiv und im Übrigen sehr verrückt.
Den öffentlichen Schlüssel meines lokalen Root-Kontos in das Remote-Root-Konto kopieren und die Root-Anmeldung aktivieren wäre der einfachste Weg, oder? Soll ich das tun?
Wie macht man das richtig?
Antwort1
http://www.rsnapshot.org/howto/using-rsnapshot-and-ssh.html (Webarchiv)hat mir sehr geholfen. Ich habe es schließlich root
auf den Remote-Rechnern und auch auf meinem lokalen Rechner (über sudo
natürlich) als Root verwendet.
Die Idee ist, mehrere Schlüssel zu haben und die Schlüssel auf bestimmte Befehle zu beschränken. Ich habe beispielsweise meinen Remote-Host so konfiguriert, dass er keine root
Anmeldung zulässt, aber die Ausführung eines bestimmten Befehls erlaubt (in meinem Fall glaube ich, dass es rsync ist, ich muss zugeben, dass ich das validate-rsync
Skript einfach wie im verlinkten Dokument vorgeschlagen verwendet habe, ohne groß darüber nachzudenken), wenn er mit dem öffentlichen Schlüssel authentifiziert wird. Selbst wenn also jemandhatteZugriff auf mein lokales root
Konto, er konnte sich nicht direkt anmelden (ja, er könnte möglicherweise per Rsync beschädigte Dateien und dergleichen verursachen, auch die beschädigen allowed_keys
und so weiter).
Im Moment denke ich, dass dies der beste Kompromiss zwischen Benutzerfreundlichkeit und Sicherheit ist.