Ich musste kürzlich eine ähnliche Aufgabe erledigen und fand Dustins Antwort sehr nützlich.
Mein Szenario war, dass ich meine Installation von einer Festplatte auf eine andere verschob. Meine Installation hat einen ihrer Benutzer (nennen wir sie "paranoid") mit einem verschlüsselten Home-Verzeichnis, und ich wollte diesen Benutzer migrieren, damit er sich bei meiner neuen Installation anmelden kann.
Ich gehe am Ende in einem Anhang detailliert darauf ein, wie ich diesen Prozess durchlaufen habe.
Aber unter dem Strich habe ich mein System an einen Punkt gebracht, an dem ich eine alte und eine neue Installation hatte, die beide dieselbe / home-Partition teilen. Es gibt / home / admin, das das Home-Verzeichnis des Admin-Benutzers auf meiner neuen Installation ist. Und es gibt / home / paranoid, das Home-Verzeichnis des paranoiden Benutzers in meiner alten Installation.
/ home / paranoid ist verschlüsselt. Es hat folgendes:
/ home / paranoid # ls
Access-Your-Private-Data.desktop -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop .ecryptfs -> /home/.ecryptfs/paranoid/.ecryptfs
.kde
.lokal
.Private -> /home/.ecryptfs/paranoid/.Private
README.txt -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.txt
Die ganze Magie eines verschlüsselten Hauses geschieht tatsächlich in einem Ordner, der in /home/.ecryptfs/ nach dem Benutzer benannt ist.
In meinem Beispiel:
/home/.ecryptfs/paranoid# ls -la
.ecryptfs
.Privat
Alle tatsächlichen Dateien des Benutzers werden verschlüsselt gespeichert
/home/.ecryptfs/paranoid/.Private
Und Konfigurationsdaten sind in
/home/.ecryptfs/paranoid/.ecryptfs
Es scheint, dass Sie zur Migration des Benutzers lediglich eine Situation entwickeln müssen, in der:
- Die neue Installation hat einen Benutzer mit identischem Namen und einem identischen Kennwort wie der Benutzer der alten Installation.
- Der Ordner / home in der neuen Installation enthält eine Kopie von /home/.ecryptfs/ paranoid / und von / home / paranoid /
- Die Dateien in diesen beiden Verzeichnissen gehören dem Benutzer paranoid
- ecryptfs-utils ist installiert
Wir müssen 1) der Fall sein, da die Dateien verschlüsselt sind, die durch das Benutzerpasswort entsperrt werden. Das Kennwort auf der neuen Installation muss also identisch sein, damit die Dateien entschlüsselt werden können.
Wir haben 2) so eingerichtet, dass die Verzeichnisstruktur für den Benutzer bei der Neuinstallation dieselbe ist wie bei der alten
Wir müssen 3) der Fall sein, damit der Benutzer Lese- und Schreibrechte für die Dateien in seinem Haus hat.
Wir brauchen 4), damit das System die Dateisystemdateien entschlüsseln kann.
So erreichen Sie dies:
Wenn Sie als "admin" angemeldet sind und das Home von der vorhandenen Home-Partition installiert ist, benennen Sie den Ordner / home / paraniod in paranoid_old um
sudo mv /home/paranoid folder paranoid_old
Benennen Sie die Datei /home/.ecryptfs/paranoid in /home/.ecryptfs/paraonoid_old um
sudo mv /home/.ecryptfs/paranoid /home/.ecryptfs/paraonoid_old
Die obigen zwei Schritte sichern die paranoiden Daten, damit sie nicht von Schritt 3 erfasst werden
Erstellen Sie einen neuen Benutzer, während Sie auf einem neuen Computer namens paranoid mit genau demselben Kennwort angemeldet sind, das paranoid bei der alten Installation hat
sudo adduser paranoid
Dadurch wird nun ein neues Verzeichnis / home / paranoid in / home
4 erstellt. Benennen Sie dieses Verzeichnis / home / paranoid in / home / paranoid_new um
sudo mv /home/paranoid /home/paranoid_new
Bringen Sie nun die Backups zurück:
Benennen Sie den Ordner / home / paranoid_old in paranoid um
sudo mv /home/paranoid_old /home/paranoid
Benennen Sie /home/.ecryptfs/paranoid_old in /home/.ecryptfs/paranoid um
sudo mv /home/.ecryptfs/paranoid_old /home/.ecryptfs/paranoid
Stellen Sie jetzt sicher, dass unser neuer paranoider Benutzer die Dateien besitzt
sudo chown paraniod:users -R /home/.ecryptfs/paranoid /home/paranoid
Schritt 7) kann erforderlich sein, da - obwohl die Dateien in /home/.ecryptfs/paranoid bereits einem Benutzer namens "paranoid" gehören - dies der paranoide Benutzer auf dem vorhandenen Installationsprogramm ist. Dieser Benutzer hat möglicherweise eine andere Benutzernummer in der Datei / etc / passwd auf dem neuen Installationsprogramm als auf dem alten Installationsprogramm. Und es ist die Benutzernummer, die die Dateien besitzt - nicht der Benutzername. Bis Sie die Dateien während der Ausführung der neuen Installation chownieren, gehören die Dateien möglicherweise dem falschen "Paranoiden". Wenn der paranoide Benutzer in der alten und der neuen Installation eine andere Benutzernummer hat, kann sich der paranoide Benutzer nach dem Chowning der Dateien nicht bei der alten Installation anmelden, da er keine Berechtigungen für die Dateien hat. Sie können diese Situation beheben, indem Sie die Datei / etc / passwd auf dem alten Installationsprogramm bearbeiten, um paranoid die gleiche Benutzernummer wie auf dem neuen Installationsprogramm zu geben. Stellen Sie nur sicher, dass Sie keine Nummer eines vorhandenen Benutzers verwenden.
8) installiere ecryptfs-utils sudo apt-get installiere ecryptfs-utils
Zu diesem Zeitpunkt sollten Sie in der Lage sein, das neue Installationsprogramm neu zu starten, sich bei paranoid anzumelden und die migrierten Home-Dateien in all ihrer entschlüsselten Form zu sehen. / home / paranoid_new kann gelöscht werden.
Anhang 1 So richte ich die Systeme ein:
Ich habe eine aktualisierte Kubuntu-Version auf einer neuen Festplatte installiert, während meine vorhandene Installation auf einer anderen Festplatte beibehalten wurde. Bei meiner vorhandenen Installation befindet sich / home auf einer eigenen Partition (/ dev / mapper / kubuntu - vg-home_lv), die vom Stammverzeichnis getrennt ist. Ich habe mein aktualisiertes kubuntu auf meinem neuen Laufwerk installiert, während die anderen Laufwerke getrennt wurden, und ein Administratorbenutzerkonto ("admin") mit einem anderen Namen als eines der Konten in meiner vorhandenen Installation erstellt. Beim Booten von einer Live-Instanz von kubuntu habe ich sowohl meine alten als auch meine neuen Festplatten gemountet und die Datei [newdirveMountPoint] / home / admin nach [oldinstalldriveMountPoint] / home / admin kopiert. Dann habe ich die Datei [newdirveMountPoint] / etc / fstab bearbeitet und eine Zeile hinzugefügt Es montiert mein auslaufendes Laufwerk als Zuhause
/dev/mapper/kubuntu--vg-home_lv /home ext4 errors=remount-ro 0 1
Wenn ich jetzt meine neue Installation als "admin" starte, liest / home von derselben Partition wie meine alte Installation. Es gibt also jetzt / home / admin, das das Home-Verzeichnis des Admin-Benutzers auf meiner neuen Installation ist. Und es gibt / home / paranoid, das Home-Verzeichnis des paranoiden Benutzers in meiner alten Installation. Meine alten und neuen Installationen teilen sich jetzt die Häuser.
sudo rsync -aP /home/ notebook2:/home/
und es synchronisierte ungefähr 276000 Dateien über Nacht. Jetzt muss ich denchown
Befehl herausfinden ... Ich nehme an, ich ssh in den neuen Computer und führe ihn als root @ NEWMACHINE aus