Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Das Paket ecryptfs-utils bietet eine sehr einfache Möglichkeit
einen einzelnen Ordner (~/Private)
innerhalb eines "unverschlüsselten" Homeverzeichnisses, bzw.
das gesamte Homeverzeichnis
eines Benutzers zu verschlüsseln. Die Ent- bzw. Verschlüsselung geschieht dabei automatisch beim Ein-/Ausloggen des Benutzers.
Die Einrichtung eines "verschlüsselten" Homeverzeichnisses kann schon als Option bei der Installation mittels
Live-CD (Desktop-Installer)
Alternate-CD/DVD
Netz-Installation
ausgewählt werden. Hat man sich hierbei für ein verschlüsseltes Homeverzeichnis entschieden und auch die Einrichtung einer Swap-Partition mit vorgegeben, so wird diese Swap-Partition gleich verschlüsselt angelegt.
Diese verschlüsselte Swap-Partition kann in der Regel erst ab Trusty Tahr (14.4 LTS) in einem Multiboot-System mitbenutzt werden. In älteren Versionen ist diese Swap-Partition vom anderen Betriebssystem dann weder les- noch beschreibbar und ist für die Modi
"suspend-to-disk"
"Bereitschaft"
nur bedingt einsatzbereit.
Wurde die Option "verschlüsseltes" Homeverzeichnis nicht schon bei der Installation ausgewählt, so muss das folgende Paket entweder im Terminal [2] mit
sudo apt-get install ecryptfs-utils
oder durch Anklicken des folgenden Button (sofern man sich im relevanten System befindet) nachinstalliert werden [1]:
ecryptfs-utils
mit apturl
Paketliste zum Kopieren:
sudo apt-get install ecryptfs-utils
sudo aptitude install ecryptfs-utils
Sofern die Einrichtung einer verschlüsselten swap nicht bereits bei der Installation erfolgte, kann man dieses wie unter Teilverschlüsselung beschrieben einrichten.
Möchte man von den bei der oben erwähnten Standard-Installation abweichende Stärken der Verschlüsselung anwenden, so sind die "Experten-Info" unter LUKS zu beachten und die Datei /etc/crypttab entsprechend anzupassen.
Da die Varianten aber unterschiedliche Vorgehensweisen erfordern, wird die Einrichtung nachfolgend getrennt beschrieben.
Jeder Benutzer kann nach einer "normalen" Installation einfach ein verschlüsseltes Verzeichnis einrichten, dazu führt man als Benutzer (nicht als Root) den folgenden Befehl in einem Terminal [2] aus:
ecryptfs-setup-private
Dabei wird das Login-Passwort vom Benutzer und die Passphrase zur Verschlüsselung abgefragt. Wird keine Passphrase angegeben, so generiert das Programm einen Zufallswert als Passphrase (dieses ist einem eigenen Schlüssel vorzuziehen).
Sollte das Verzeichnis ~/Private bzw. die versteckten Verzeichnisse ~/.ecryptfs oder ~/.Private bereits existieren, bricht die Einrichtung mit entsprechendem Hinweis ab, selbst wenn das Verzeichnis leer ist. Danach sollte man den Befehl wiederholen und zwar mit
ecryptfs-setup-private --force
Die Passphrase bitte danach auslesen (siehe Passphrase auslesen) und unbedingt sicher aufbewahren, dies ist die einzige Möglichkeit, wieder an die Daten zu kommen, falls das System "beschädigt" wurde! Es wird empfohlen, alle Dateien aus dem relevanten Schlüssel-Verzeichnis extern zu sichern (siehe hierzu auch Systempfade der Schlüsseldateien).
Anschließend muss man sich neu einloggen und findet das Verzeichnis ~/Private vor. Dieses wird von nun an bei jedem Einloggen des Nutzers entschlüsselt, und beim Ausloggen wieder verschlüsselt.
Bei allen Installation, wenn man die entsprechenden Hinweise nicht umsetzen konnte (oder übersehen hatte), oder wie bei Wubi nicht angeboten wird, kann man eine fertige Installation auf ein verschlüsseltes Homeverzeichnis umstellen. Dabei werden aber alle Daten gelöscht! (Eine Methode zum migrieren bestehender Home-Verzeichnisse steht weiter unten)
Bei einer "frischen Installation" sollte man diese erst einmal überprüfen, ob alles einwandfrei startet (Grafikkarte, Netzwerk und was sonst noch geprüft werden sollte), bevor man nun anfängt, spezielle Benutzerdaten zu verändern/hinzuzufügen.
Überall wo nachfolgend <Benutzername>
steht, ist der relevante Benutzername (ohne die Klammern) einzusetzen
Nachfolgende Prozedur löscht alle Dateien und Einstellungen des entsprechenden Anwenders. Bei einem frischen System ist das natürlich unproblematisch.
Man ruft das System im Recovery Modus auf, wählt im Auswahldialog ("friendly recovery"] die Option "root" um eine Root-Konsole zu starten. Als erstes sollte man sich für ein späteres Auslesen die Datei /etc/group in ein Backup kopieren mit:
cp -f /etc/group /etc/group.bak
Ab Ubuntu 12.04 wird bei der Option "root" das Dateisystem nur lesend eingehängt. Siehe dazu die Hinweis-Box unter "Ab Ubuntu 12.04" im Artikel Recovery Modus
oder die bestehenden Zuordnungen zu Benutzer und Gruppen zum Notieren anzeigen lassen. Diese Daten erhält man mit:
grep <Benutzername> /etc/group
Dann gibt man ein:
deluser --remove-home <Benutzername> adduser --encrypt-home <Benutzername>
Die Abfrage nach dem Passwort ist nun neu einzugeben - die restlichen Fragen nach Name usw. kann auch später noch eingegeben werden. Ist dieser Benutzer auch derjenige, der administrative Tätigkeiten (sudo) durchführen soll, so muss diesem Nutzer dieses spezielle Recht [3] schon hier zugewiesen werden:
adduser <Benutzername> sudo
Mit
Strg +
D kehrt man in das das Auswahlmenü zurück, und kann über die Option "resume" zum Einloggen weitergehen. Nach dem Einloggen als Benutzer kann mit dem Befehl startx
die grafische Oberfläche gestartet werden. Die alten Zuordnungen (siehe oben und ggf. weitere) werden am Desktop über die Eingabemaske "Benutzer und Gruppen" eingetragen.
Für jeden zusätzlichen Benutzer kann man mit Root-Rechten [3] im Terminal [2] ein neues, verschlüsseltes Homeverzeichnis anlegen:
sudo adduser --encrypt-home <Benutzername>
Das sollte vorzugsweise über die Menü-Option erfolgen:
GNOME-Dektop = "System -> Systemverwaltung -> Benutzer und Gruppen"
KDE-Desktop = "Systemeinstellungen -> Benutzerverwaltung -> Benutzerkonten / Gruppen"
Auch bei den anderen Desktop-Varianten sind vergleichbare Einstellmöglichkeiten gegeben, doch können je nach Version und Übersetzung die Bezeichnung(en) abweichen.
Bei einer bereits länger bestehenden Installation gestaltet sich die "Umwandlung" in ein verschlüsseltes Homeverzeichnis etwas komplexer, ist aber auch für einen "ungeübten" Nutzer machbar.
Vorab gilt zu beachten:
Falls die Option zum automatischen Login ausgewählt oder eine Gastsitzung eingerichtet wurde, sollte man beides unter Benutzer und Gruppen entfernen.
Man sollte vorab ein Backup vom Homeverzeichnis anfertigen!
Es muss ausreichender Platz auf dem Datenträger / Partition vorhanden sein, weil das Homeverzeichnis bei dem Vorgang auch kopiert wird!
Je nach Größe des Homeverzeichnisses kann der Vorgang einige Zeit dauern (hardwareabhängig).
Es ist angeraten, auch gleich Vorkehrungen für das Notieren der Systemausgaben zu treffen. Beim folgend beschriebenen Ablauf bitte die Reihenfolge einhalten!
Als erstes sollte man sicherstellen, das mehr als der umzustellende Benutzer vorhanden ist, mit diesem muss man sich später anmelden.
Wenn kein weiterer Benutzer vorhanden sein sollte, muss man diesen mit folgendem Kommando anlegen:
sudo adduser "Benutzer" sudo
Der Benutzername kann frei gewählt werden und wird nachher auch wieder entfernt. "sudo" ist eine Gruppe mit der man die Berechtigung erhält als Benutzer "root" zu agieren.
Nun muss man sich ausloggen und in ein globales Terminal wechseln. Bei den meisten Distributionen geht das durch: Strg + Alt + F1
(Wieder zurück kommt man mit Strg + Alt + F7 )
Nun muss man sich mit dem neuen Benutzer anmelden, danach wenn man dies gemacht hat, beendet man die grafische Oberfläche mit:
/etc/init.d/lightdm stop
Dann verschlüsselt man das Home-Verzeichnis mit:
ecryptfs-migrate-home -u <benutzername>
Als letztes muss man die grafische Oberfläche wieder starten,
/etc/init.d/lightdm start
wieder mit Strg + Alt + F7 auf die grafische Obefläche wechseln und sich als letztes einloggen.
Wenn man nun seine Daten lesen und auch neue schreiben kann, dann kann man das Backup unter:
sudo rm -r /home/<benutzername>.*
löschen.
Daran denken: wichtige Daten vorab aus dem Verzeichnis ~/Private bzw. aus dem unverschlüsselten Homeverzeichnis an einen anderen Ort sichern!
Um das Verzeichnis ~/Private zu löschen, führt man als angemeldeter Benutzer im Terminal [2] nacheinander folgende Befehle aus:
cd /home/<Benutzername> ecryptfs-umount-private chmod 700 ~/Private rm -rf ~/Private ~/.Private ~/.ecryptfs
Um die Verschlüsselung des Homeverzeichnisses zu entfernen und dieses auf ein fortan unverschlüsseltes Homeverzeichnis umzustellen, muss man nachfolgende Schritte in der aufgeführten Reihenfolge ausführen.
Es muss für die folgende Maßnahme ausreichender Platz auf dem Ziel-Laufwerk vorhanden sein!
Der Benutzer muss angemeldet sein. Dann in einem Terminal [2] mit Root-Rechten [3] die Daten unverschlüsselt an eine andere Stelle kopieren (nachfolgend wurde /home/backup gewählt):
cd / sudo mkdir /home/backup sudo rsync -ap /home/<Benutzername>/ /home/backup/
Danach startet man das System im Recovery Modus neu, und wählt im Auswahlmenü (friendly-recovery
) die Option "Zur root-Befehlszeile (Shell) wechseln". Nun hängt man zunächst die Systempartition mit Schreib- und Leserechten neu ein:
mount -o remount,rw /
Sollte das Homeverzeichnis eine eigene Partition sein, muss man diese ebenso einhängen:
mount /home/
Nun die Datei /etc/adduser.conf mit einem Konsolen-Editor [4] (z.B.: Nano) öffnen und darin die Zeile
SKEL=/etc/skel
durch Voransetzen von # auskommentieren. Direkt darunter fügt man folgende Zeile ein:
SKEL=/home/backup
Danach die Datei sichern.
Zuerst wird der Nutzer mit bislang verschlüsseltem Homeverzeichnis gelöscht und anschließend neu angelegt:
deluser --remove-home <Benutzername> adduser <Benutzername>
Soll der Nutzer administrative Rechte erhalten, fügt man ihn der Administratorgruppe sudo
(seit 12.04) hinzu:
Seit 12.04:
adduser <Benutzername> sudo
Wurde der Benutzer erfolgreich neu angelegt, können das Backupverzeichnis und das ehemals verschlüsselte Homeverzeichnis gelöscht werden:
rm -rf /home/backup rm -rf /home/.ecryptfs/<Benutzername>
Nun stellt man mit einem Editor [4] den alten Zustand der Datei /etc/adduser.conf wieder her (siehe oben!). Man kehrt mit
Strg +
D in das friendly-recovery
-Auswahlmenü zurück und startet das System nun via resume
. Nun sollte das Homeverzeichnis dem Nutzer unverschlüsselt zur Verfügung stehen. Es müssen nun noch die Einstellungen zu Benutzer und Gruppen überprüft werden.
Will man auch das Basispaket ecryptfs-utils endgültig entfernen, so sind in einem "Mehruser-System" erst obige Schritte von jedem Nutzer auszuführen, danach kann man im Terminal [2] mit
sudo apt-get purge ecryptfs-utils sudo apt-get autoremove --purge
die Anwendung deinstallieren.
Sollte es nach dem Entfernen der Basis-Pakete zu Problemen beim Löschen der Verzeichnisse kommen, so kann man diese Verzeichnisse auch noch nachträglich im Recovery-Mode am Root-Prompt löschen.
ecryptfs Das Homeverzeichnis bzw. ein Verzeichnis darin verschlüsseln
Nutzung - wie man seine Daten bearbeiten und nutzen kann
Datenrettung - Struktur der Schlüsseldaten und Datenrettung
Diese Revision wurde am 25. September 2015 07:10 von noisefloor erstellt.