ecryptfs-utils
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Anmerkung: Jetzt in ecryptfs und Unterartikeln zu finden
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Hinweis:
Daten im "verschlüsselten" Bereich sind, sobald der jeweilige Benutzer sich eingeloggt hat, auch prinzipiell von anderen Nutzern oder Anwendungen lesbar. Falls dies nicht gewünscht ist, sind die Rechte entsprechend zu setzen.
ecryptfs-utils 🇬🇧 bietet eine sehr einfache Möglichkeit einen einzelnen Ordner (~/Private) innerhalb vom Homeverzeichnis, ab Jaunty Jackalope das gesamte Homeverzeichnis eines Benutzers zu verschlüsseln. Die Ent- bzw. Verschlüsselung geschieht dabei automatisch beim Ein-/Ausloggen des Benutzers. Da beide Varianten aber unterschiedliche Vorgehensweisen erfordern, wird die Einrichtung hier getrennt beschrieben.
Achtung!
Bitte vorab die Hinweise unter Änderung Login-Passwort lesen!
Installation¶
Konnte die Option ecryptfs-utils
nicht schon bei der Installation ausgewählt, so muss das folgende Paket installiert werden [1]:
ecryptfs-utils
Befehl zum Installieren der Pakete:
sudo apt-get install ecryptfs-utils
Oder mit apturl installieren, Link: apt://ecryptfs-utils
Sofern die Einrichtung einer verschlüsselten Swap nicht bereits bei der Installation erfolgte (ab Karmic Koala per Default), so kann man dieses wie unter Teilverschlüsselung beschrieben einrichten.
Möchte man andere Grade der Verschlüsselung anwenden, so sind die "Experten-Info" bei LUKS zu beachten.
Einrichtung Verzeichnis Private¶
Jeder Benutzer kann nach der Installation einfach sein privates 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 Benutzerpasswort und ein Verschlüsselungs-Passwort abgefragt. Wird kein Verschlüsselungs-Passwort angegeben, so generiert das Programm ein Passwort.
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
Hinweis:
Das Verschlüsselungs-Passwort bitte unbedingt sicher aufbewahren, dies ist die einzige Möglichkeit wieder an die Daten heran 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.
Einrichtung Homeverzeichnis¶
Ab Jaunty Jackalope besteht die Möglichkeit, ein verschlüsseltes Homeverzeichnis gleich bei der Installation anzulegen.
Achtung!
Ab Karmic Koala wird gleich eine verschlüsselte Swap-Partition eingerichtet, sofern man bei der Installation diese angelegt hat. Diese verschlüsselte Swap-Partition ist für andere Linux-Systeme unbrauchbar. Bei Rechnern mit mehreren Linux-Distributionen muss man ggf. eine weitere offene Swap-Partition einrichten oder die anderen Systeme auf die verschlüsselte Swap umstellen.
Installation mit Alternate-CD/DVD¶
Um ein verschlüsseltes Homeverzeichnis von Anfang an zu erhalten, sollte man unter Jaunty die Alternate-CD/DVD benutzen oder die Installation über Downloads/Netzwerkinstallation ausführen, da man bei dieser Art der Installation dieses Feature gleich direkt auswählen kann. Danach steht für den ersten Benutzer, also den der bei der Installation direkt angelegt wird, gleich ein verschlüsseltes Homeverzeichnis zur Verfügung.
Installation mit Desktop-CD/DVD¶
Experten-Info:
Dieser Hinweis ist bei Jaunty Jackalope nur für Ubuntu-Desktop und XFCE-Desktop anwendbar, ab Karmic auch für Kubuntu-Desktop.
Um diese Möglichkeit auch bei einer Installation mit einer Desktop-CD nutzen zu können, muss man dieses beim Start gezielt anfordern. Dazu ruft man mit
F6 im Startmenü die Eingabezeile auf (löscht mit
Esc die eingeblendeten Vorgaben) und gibt am Ende der Zeile zusätzlich user-setup/encrypt-home=true
vor den --
mit Leerzeichen ein , dann wird dieses beim Desktop-Installer gleich mit angeboten.
Frische Installation nachbearbeiten¶
Bei allen anderen Installation mit einer Desktop-CD bzw. -DVD oder wenn man obigen Hinweis nicht umsetzen konnte, muss man die Installation nachbearbeiten.
Hinweis:
Bei einer "frischen Installation" sollte man diese erst einmal überprüfen, ob alles einwandfrei startet (Grafikkarte, Netzwerk und was sonst noch schief laufen kann), bevor man nun anfängt, Weiteres zu verändern/hinzuzufügen.
Überall wo nachfolgend <Benutzername>
steht, ist der relevante Benutzername 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 "root" um eine root-Konsole zu starten und gibt dort 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 nachgeholt werden. Ist dieser Benutzer auch derjenige, der administrative Tätigkeiten (sudo) durchführen soll, so muß diesem dieses Recht wieder zugewiesen werden:
adduser <Benutzername> admin
Nun kann man mit Strg + D in das das Auswahlmenü zurück, und via "resume" zum Einloggen weitergehen. Nach dem Einloggen als Benutzer kann mit dem Befehl "startx" die grafische Oberfläche gestartet werden.
Zusätzlicher Benutzer¶
Für jeden zusätzlichen Benutzer kann man mit Root-Rechten im Terminal [3] ein neues, verschlüsseltes Homeverzeichnis anlegen:
sudo adduser --encrypt-home <Benutzername>
Hinweis:
Ab Lucid Lynx (10.04 LTS) kann das über die Menü-Option erfolgen:
GNOME-Dektop = "System → Systemverwaltung → Benutzer und Gruppen"
Bestehendes Homeverzeichnis¶
Bei einer bestehenden Installation gestaltet sich die "Umwandlung" in ein verschlüsseltes Homeverzeichnis etwas komplexer, aber stellt sich auch für einen ungeübten Nutzer als durchaus machbar dar.
Hinweis:
Vorab ein Backup vom Homeverzeichnis anfertigen! Es ist angeraten, auch gleich Bleistift und Papier für die Systemausgaben bereit zu legen. Der Ablauf sieht dabei wie folgt aus (bitte die Reihenfolge einhalten).
Man startet das System im Recovery Modus, wählt im Auswahlmenü "root" um eine root-Konsole zu starten und gibt dort ein:
Vorbereitungen¶
Zuerst muss die Datei /etc/adduser.conf angepasst werden. Diese Datei gibt u.a. die Inhalte vor, die kopiert / übernommen werden sollen. Dazu ruft man diese Datei mit einem Editor auf [6] (am einfachsten ist Nano) und kommentiert die vorhandene Zeile mit
SKEL=/etc/skel
durch Voransetzen von # aus und schreibt direkt darunter
SKEL=/home/backup
Danach die Datei sichern.
Homeverzeichnis umstellen¶
Man gibt jetzt nacheinander nachfolgende Befehle ein und achte auf die Rückmeldungen aus dem System (Rückmeldung zum Schlüssel bitte notieren - siehe Hinweis oben).
deluser <Benutzername> mv /home/<Benutzername> /home/backup adduser --encrypt-home <Benutzername> adduser <Benutzername> admin rm -rf /home/backup
und stellt in /etc/adduser.conf den alten Zustand mittels Editor wieder her (siehe oben!). Man kehrt mit Strg + D in den Auswahldialog des Recovery Modus zurück und startet das System nun via "resume". Nach dem Einloggen als Benutzer kann mit dem Befehl "startx" die grafische Oberfläche gestartet werden. Es sollte nun das Homeverzeichnis verschlüsselt - für den Nutzer les- und bearbeitbar sein.
Experten-Info:
Es kann vorkommen, dass Programme noch vor dem Einloggen bzw. gleich danach auf das Homeverzeichnis zugreifen wollen, aber weil die Dekodierung noch nicht abgeschlossen ist, einen Fehler melden. Dieses muss man gezielt behandeln und ggf. in den /etc/init.d/-Dateien die Startsequenz verändern oder die Programme aus den Diensten heraus nehmen bzw. neu orientieren!
Um das Volumen für die Codierung/Decodierung in Grenzen zu halten, sollte man auf Folgendes achten: Symbolische Links wirken nur von außen nach innen, d.h. Daten, die im codierbaren Bereichen liegen, können von außen mit einem symbolischen Link aufgerufen werden und werden codiert, Daten die außerhalb liegen und mit symbolischen Links vom inneren Bereich angesprochen werden, werden nicht codiert. Mit diesem Wissen kann man nun dafür sorgen, das Daten, die nicht unbedingt codiert werden müssen oder ein sehr großes Volumen darstellen (z.B. ISO's, Videos), via symbolischen Link nach außerhalb zu verlegen und somit die Rechenarbeit (-zeit) zu verringern.
Wechsel Login-Passwort¶
Soll das bestehende Login-Passwort eines Benutzers gewechselt werden, so ist es zwingend erforderlich, zeitnah auch die Datei .ecryptfs/wrapped-passphrase anzupassen. Damit dieses auch richtig ausgeführt wird, muss die Änderung des Login-Passwortes, nach dem Anmelden durch den Benutzer, von diesem selbst beim Ubuntu-Desktop über die Menü-Funktion:
System → Einstellungen → Persönliche Angaben → Passwort ändern
beim Kubuntu-Desktop über die Funktion:
Systemeinstellungen → Persönliche Informationen → Passwort ändern
ausgeführt werden. Nach dem Aufrufen wird dort zur Legitimation das alte Login-Passwort eingegeben und danach dann das neue Login-Passwort (zweimal) eingegeben.
Nach dem erfolgreichen Wechsel des Login-Passwortes (Akzeptanz wird angezeigt) sollte man sich abmelden und erneut einloggen.
Nutzung¶
Die Verschlüsselung läuft transparent, das Verzeichnis wird beim Einloggen automatisch entschlüsselt und beim Ausloggen wieder verschlüsselt. In vielen Fällen reicht das für die Nutzung schon aus.
Hinweis:
Bei automatischen Login ist eine direkte Nutzung des Verzeichnisses nicht möglich, weil sonst der Aspekt der Daten-Sicherheit unterlaufen würde.
Um die Daten nach einem automatischen Login zugänglich zu machen, muss man das Homeverzeichnis des Benutzers oder das Verzeichnis ~/Private öffnen und auf die Datei Access Your Private Data klicken. Es öffnet sich daraufhin ein Terminal, in das man das Login-Passwort eingeben kann. Nach Schließen des Terminals und des Verzeichnisses sind die Daten wie oben beschrieben zugänglich.
Passphrase extern auslagern¶
Es ist grundsätzlich möglich, die Passphrase und zugehörige Dateien getrennt auf ein externes Medium (USB-Stick, Smartcard oder ähnlichen Medien) zu verlagern. Wichtig dabei ist nur, dass dieses Speichermedium beim Booten eingesteckt/verbunden ist, vom System erkannt wird und in der /etc/fstab eingetragen wurde z.B.:
UUID=xxxx /var/lib/ecryptfs ext2 defaults 0 0
Hinweise zum korrekten Pfad siehe Systempfade der Schlüsseldateien
Wurden die Benutzerdaten nun auf diesem Speichermedium abgelegt (durch Verschieben der jeweiligen Nutzerdaten), werden sie nun von dort beim Einloggen abgefragt.
Manuelles Sperren/Öffnen des Verzeichnis¶
Will man das Verzeichnis sperren, während man eingeloggt ist, kann man dies mit dem Befehl [3] erreichen.
ecryptfs-umount-private
Umgekehrt kann man das Verzeichnis auch wieder manuell entschlüsseln
ecryptfs-mount-private
Alternativ kann man sich diese Befehle auch auf einen "Starter" legen oder in ein Skript einfügen.
Mögliches Szenario¶
SSH-Keys oder GnuPG-Keys sollte man möglichst sicher aufbewahren, damit diese nicht in die falschen Hände geraten. Um dies zu verhindern, sollte man diese verschlüsselt auf der Festplatte ablegen. Dazu kann man die Festplatte komplett verschlüsseln, hat aber dann den Nachteil, dass sämtliche Schreib- und Lesezugriffe auf die Festplatte erstmal ver-/entschlüsselt werden müssen. Dies kann für manche Anwendungen einen massiven Geschwindigkeitsverlust bedeuten.
Mit verschlüsselten Verzeichnissen kann man diese Schlüssel alle in sein ~/Private verschieben. SSH sucht aber nach dem Schlüssel in ~/.ssh Dort kann man dann einfach einen Link ablegen.
Beispiel:
mv ~/.ssh/ ~/Private/ ln -s ~/Private/.ssh ~/.ssh
Trash bereinigen¶
Dieser Hinweis gilt nur für das Verzeichnis ~/Private:
Will man Daten aus dem Verzeichnis ~/Private löschen, so muss man die Funktion "Löschen" im Kontext-Menü (-Klick auf dem zu löschenden Objekt) des eingesetzten Datei-Browsers wählen. Das Löschen mittels Kontext-Menü und der Option In den Müll verschieben
belässt die Daten im versteckten Verzeichnis ~/Private/.Trash-<User-ID>, so dass sich derart gelöschte Dateien mit der Zeit ansammeln und ggf. zu Speicherplatz-Problemen führen können. Ist diese Funktion bei den relevanten Datei-Browsern nicht aktiviert, so kann man das einstellen - Informationen geben die jeweilige WIKI-Seite.
Achtung!
Dieses ist kein Fehler im Programm, sondern so vorgesehen, damit keine Daten nach außerhalb des Verzeichnisses gelangen.
Datenrettung¶
Daten extern auslesen¶
Sollte das System nicht mehr bis zum Desktop gelangen, so startet man mit einem Live-System (CD/DVD bzw. USB-Stick) gleicher Architektur (i386 bzw. amd64) - vorzugsweise mit Version Jaunty (>= 9.04). Will man den Zugriff über einen Dateimanager ausführen, so muss auch die Desktop-Version (GNOME, KDE bzw XFCE) berücksichtigt werden.
Achtung!
Ist die Partition mit dem Verzeichnis ~/.Private so defekt, dass diese wie nachfolgend beschrieben nicht mehr einzubinden ist, so muss man davon ausgehen, das die Daten mit einfachen Mitteln nicht mehr zu retten sind.
Man öffnet am Desktop ein Terminal [3] und bindet das "beschädigte" System in das Ubuntu-Live-System ein.
Integriertes Homeverzeichnis¶
Befindet sich das Verzeichnis /home/<Benutzername> auf der selben Partition wie das Wurzelverzeichnis (nachfolgend wird als Beispiel /dev/sda1 angenommen), dann gibt man ein:
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt
Separates Homeverzeichnis¶
Befindet sich das Verzeichnis /<Benutzername> auf einer vom Wurzelverzeichnis getrennten Partition (als Beispiel root = /dev/sda1, home = /dev/sda5 ), so muss das System beginnend mit root ( / ) in der richtigen Reihenfolge vorab aufgebaut werden. Handelt es sich um ein Software-RAID oder vergleichbares System, so sind entsprechende Maßnahmen vorab zu ergreifen.
mit intakter Root-Partition¶
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt ubuntu@ubuntu:~$ sudo mount /dev/sda5 /mnt/home
Sollten noch andere Verzeichnisse (siehe /etc/fstab) erforderlich sein, so sind auch diese einzubinden.
Um die erforderlichen Kernel-Informationen für ecryptfs-utils
vom Ubuntu-Live-System zu übertragen, wird in das Terminal eingegeben:
ubuntu@ubuntu:~$ sudo mount -o bind /dev /mnt/dev ubuntu@ubuntu:~$ sudo mount -o bind /proc /mnt/proc ubuntu@ubuntu:~$ sudo mount -o bind /sys /mnt/sys ubuntu@ubuntu:~$ sudo mount -o bind /dev/shm /mnt/dev/shm ubuntu@ubuntu:~$ sudo chroot /mnt
Weiter bei Benutzer aktivieren.
mit defekter Root-Partition¶
Für die Simulation der fehlenden Root-Partition sind folgende Schritte erforderlich:
ubuntu@ubuntu:~$ sudo mount /dev/sda5 /mnt
Nun einen Nutzer mit <Benutzername>
im Ubuntu-Live-System anlegen und diesem Root-Rechte geben, siehe dazu die Ausführungen unter: Datenzugriff vorbereiten. Anschließend löscht man den Inhalt des gerade angelegten home Verzeichnises und verlinkt es mit dem zu Rettenden.
ubuntu@ubuntu:~$ sudo rm -rf /home/<Benutzername> ubuntu@ubuntu:~$ sudo ln -s /mnt/<Benutzername> /home/<Benutzername>
Nun das Verzeichnis /var/lib/ecryptfs/<Benutzername> anlegen und die darin erforderlichen Dateien erstellen, siehe dazu die Ausführungen unter: Schlüsseldateien reparieren. Danach dauerhafte Rootrechte erwerben mit:
ubuntu@ubuntu:~$ sudo su root@ubuntu:~$
Benutzer aktivieren¶
Man wechselt nun den Benutzer - dabei auf das Minus- und die Leer-Zeichen bei der Eingabe achten. Bei der Abfrage zum Passwort ist das <Login-Passwort>
von <Benutzername>
einzugeben. Die angezeigten Meldungen können ignoriert werden.
root@ubuntu:~$ su - <Benutzername>
Mit den nächsten Eingaben logt man sich nun in sein "verschlüsseltes" Verzeichnis ein:
<Benutzername>@ubuntu:~$ ecryptfs-add-passphrase --fnek Passphrase: < notierte Passphrase <Benutzername>@ubuntu:~$ ecryptfs-mount-private
Jetzt hat man Zugriff auf seine Daten, sowohl über den Dateimanager, als auch im Terminal, dazu noch folgende Eingabe
<Benutzername>@ubuntu:~$ cd .. <Benutzername>@ubuntu:~$ cd <Benutzername>
damit die Daten angezeigt, ausgelesen und auch extern gesichert werden können. Den Dateimanager aus dem Terminal heraus aufrufen., wenn man diesen direkt nutzen will.
Benutzer deaktivieren¶
Um keine Datenverluste zu erleiden, die eingebundenen Verzeichnisse richtig verlassen, dazu im Terminal eingeben:
<Benutzername>@ubuntu:~$ ecryptfs-umount-private <Benutzername>@ubuntu:~$ exit logout root@ubuntu:~$ exit ubuntu@ubuntu:~$
Achtung!
Ist das vorstehende nicht ohne Fehlermeldungen auszuführen, so sind aufgrund der Vielzahl der Möglichkeiten tieferes Basiswissen zu Linux und zu den aufgetretenen Fehlern erforderlich, die diese Beschreibung sprengen würde - wobei eine Wiederherstellung nicht grundsätzlich ausgeschlossen wird.
Daten wieder herstellen¶
Wenn das System nicht mehr starten will und die Dateien zur Verschlüsselung defekt sind oder fehlen, startet man mit einem Live-System (CD/DVD oder USB-Stick) - vorzugsweise mit Version Jaunty (>= 9.04), sowie mit gleicher Desktop-Version (GNOME, KDE bzw. XFCE) wie das defekte System. Zum Einbinden der relevanten Partition siehe die Ausführungen weiter oben unter Daten extern auslesen.
Datenzugriff vorbereiten¶
Für alle Varianten zuerst einen Benutzer im Ubuntu-Live-System mit adduser <Benutzername> anlegen:
ubuntu@ubuntu:~$ sudo adduser <Benutzername> Geben Sie ein neues UNIX-Passwort ein: < Eingabe Login-Passwort > Geben Sie ein neues UNIX-Passwort erneut ein: < Eingabe Login-Passwort >
Die anderen Daten sind hier nicht relevant und können jeweils mit ⏎ bestätigt werden. Nun sollte noch der Eintrag in die Gruppe admin mit:
ubuntu@ubuntu:~$ sudo adduser <Benutzername> admin
vorgenommen werden.
Systempfade der Schlüsseldateien¶
Die für die Entschlüsselung erforderlichen Dateien befinden sich in einem für ecryptfs-utils
reservierten Verzeichnis. Die Pfade dorthin unterscheiden sich abhängig vom gewählten Mount-Point (entsprechend voran setzen) und nach Variante:
Bei der Variante Einzelordner ~/Private :
/home/<Benutzername>/.ecryptfs
für die Variante verschlüsseltes Homeverzeichnis für Jaunty Jackalope :
/var/lib/ecryptfs/<Benutzername>
für die Variante verschlüsseltes Homeverzeichnis (bei Neuinstallation) Karmic Koala :
/home/.ecryptfs/<Benutzername>/.ecryptfs
Achtung!
Die beiden versteckten Verzeichnisse /home/<Benutzername>/.ecryptfs und /home/.ecryptfs/<Benutzername> unterscheiden sich grundlegend: Während im ersten "nur" die Schlüsseldaten liegen, sind im zweiten (bei Neuinstallation ab Karmic Koala) darin auch die verschlüsselten Daten des gesamten Home-Verzeichnisses des jeweiligen Nutzers gespeichert, falls dieser ein verschlüsseltes Home-Verzeichnis besitzt.
Bei allen Varianten sollten sich jeweils die folgenden Dateien befinden:
auto-mount (Null-Byte Indikator-Datei) auto-umount (Null-Byte Indikator-Datei) Private.mnt (der relevante mount-point, in der Regel /home/<Benutzername>) Private.sig (Hinweis auf Verschlüsselung von Ordnern und Files) wrapped-passphrase (Verschlüsselungspasswort - encryptet) .wrapped-passphrase.recorded (Null-Byte Indikator-Datei)
Überprüfung der Schlüsseldateien¶
Wenn man bei Prüfung erkennt, dass die Dateien nicht mehr brauchbar sind oder gar fehlen, so kann man diese reparieren. Dies setzt allerdings voraus, dass die Datei wrapped-passphrase entweder intakt ist, eine Kopie von ihr existiert oder das Passwort, mit dem der private Ordner bzw. das Home-Verzeichnis verschlüsselt wurde, bekannt sind. Ist alles dies nicht der Fall, ist eine Wiederherstellung der Daten nicht möglich. Die verschlüsselten Verzeichnisse können in diesem Fall nicht mehr entschlüsselt werden!
Um die Schlüsseldateien zu reparieren, wechselt man in das Verzeichnis .ecryptfs (siehe oben, nachfolgend wurde Variante zwei mit dem Mount-Point /mnt gewählt) und löscht vorab die relevante Datei, bevor man eine neue Datei erstellt. Die versteckte Datei .wrapped-passphrase.recorded kann man vernachlässigen.
Achtung!
Vor dem Löschen der Datei wrapped-passphrase muss unbedingt das Verschlüsselungspasswort ausgelesen und gesichert werden. Ohne dieses ist eine Entschlüsselung der Verzeichnisse unmöglich!
wrapped-passphrase auslesen¶
Zur Prüfung, ob das Verschlüsselungs-Passwort (nicht das Login-Passwort) stimmt und dieses unbeschädigt ist, kann man sich dieses mit dem folgenden Befehl anzeigen lassen.
Hinweis:
Bei dem Basis-System Intrepid Ibex (= 8.10) muss das Login-Passwort gleich im Klartext bei dem nachfolgenden Befehl mit eingegeben werden. Anschließend sollte man das Terminal mit history -c
bereinigen, um unbefugtes Auslesen des Passwortes zu unterbinden.
Man wechselt in das Verzeichnis mit der Datei wrapped-passphrase (siehe oben) und gibt dort ein:
sudo ecryptfs-unwrap-passphrase wrapped-passphrase [Intrepid Ibex siehe Hinweis]
und schließt mit ⏎ ab, die folgende Abfrage mit der Eingabe:
passphrase: < Eingabe Login-Passwort Benutzer >
und ⏎ abschließen. Danach dann den Schlüssel unbedingt notieren oder in eine Datei kopieren.
Schlüsseldateien reparieren¶
Falls es erforderlich wird, die Schlüsseldateien neu zu erstellen, so öffnet man ein Terminal [3] und bereitet die Eingabe wie folgt vor. Nachfolgend wurde als Beispielpfad /mnt/var/lib/ecryptfs genommen, dieser ist anzupassen (siehe oben)! Wichtig dabei, auf das Minuszeichen und die Leerzeichen bei der Eingabe des ersten Befehles achten !
ubuntu@ubuntu:~$ su - <Benutzername> Passwort: < Login-Passwort von <Benutzername> <Benutzername>@ubuntu:~$ sudo mkdir --parents --mode=777 /mnt/var/lib/ecryptfs/<Benutzername> <Benutzername>@ubuntu:~$ cd /mnt/var/lib/ecryptfs/<Benutzername> <Benutzername>@ubuntu:/mnt/var/lib/ecryptfs/<Benutzername>$
Man sollte das Terminal solange nicht verlassen, bis alle Dateien angelegt wurden. Mit dieser Maßnahme werden bei der Erstellung gleich die richtigen Rechte mit angelegt.
wrapped-passphrase erstellen¶
Ist das Verschlüsselungspasswort unbekannt, kann es (wie im Kapitel wrapped-passphrase auslesen beschrieben) aus einer intakten wrapped-passphrase-Datei ausgelesen werden. Ist es bekannt, kann die Datei wie folgt neu erstellt werden:
<Benutzername>@ubuntu:/mnt/var/lib/ecryptfs/<Benutzername>$ ecryptfs-wrap-passphrase wrapped-passphrase
Die nachfolgenden Abfragen sind wie folgt zu beantworten (es erfolgt keine Anzeige, blinde Eingabe erforderlich):
Passphrase to wrap: < Eingabe notierte Passphrase Wrapping passphrase: < Eingabe Login-Passwort von <Benutzername>
und schränkt die erforderlichen Zugriffs-Rechte dieser Datei ein mit:
<Benutzername>@ubuntu:/mnt/var/lib/ecryptfs/<Benutzername>$ chmod 700 wrapped-passphrase
auto-mount erstellen¶
Man erstellt mit einem Editor [6], den man vom Terminal her aufruft, die leere Datei auto-mount und speichert diese ab. Danach den Editor wieder verlassen.
Alternativ kann die Datei auch mit folgendem Befehl erzeugt werden:
touch auto-mount
auto-umount erstellen¶
Man erstellt mit einem Editor, den man vom Terminal her aufruft, die leere Datei auto-umount und speichert diese ab. Danach den Editor wieder verlassen.
Alternativ kann die Datei auch mit folgendem Befehl erzeugt werden:
touch auto-umount
Private.mnt erstellen¶
Man erstellt mit einem Editor, den man vom Terminal her aufruft, die Datei Private.mnt und gibt dort ein:
/home/<Benutzername>
Dabei diese Zeile mit ⏎ abschließen und danach abspeichern, den Editor wieder verlassen und schränkt die erforderlichen Zugriffs-Rechte dieser Datei ein mit:
<Benutzername>@ubuntu:/mnt/var/lib/ecryptfs/<Benutzername>$ chmod 700 Private.mnt
Private.sig erstellen¶
Um die Daten für diese Datei zu erhalten, gibt man in das Terminal ein:
<Benutzername>@ubuntu:/mnt/var/lib/ecryptfs/<Benutzername>$ ecryptfs-add-passphrase --fnek Passphrase: < Eingabe notierte Passphrase
und erhält nun u.a. folgende Zeilen (hier beispielhaftes Ergebnis):
Inserted auth tok with sig [14140887552e0bec] into the user session keyring Inserted auth tok with sig [de5d090606c60111] into the user session keyring
Man erstellt mit einem Editor, den man vom Terminal her aufruft, die Datei Private.sig, indem man die Schlüsselwerte zwischen den [ ] zeilenweise überträgt/kopiert, die Zeilen mit ⏎ abschließt und abspeichert, den Editor wieder verlässt und schränkt die erforderlichen Zugriffs-Rechte dieser Datei ein mit:
<Benutzername>@ubuntu:/mnt/var/lib/ecryptfs/<Benutzername>$ chmod 700 Private.sig
Bevor man das Terminal wieder verlässt, gibt man noch ein:
<Benutzername>@ubuntu:/mnt/var/lib/ecryptfs/<Benutzername>$ exit logout ubuntu@ubuntu:~$
Man sollte diese Daten jetzt auch extern sichern, versuchen, mit diesen Werten bei Daten extern auslesen weiter zu machen oder das System neu zu starten.
Deinstallation¶
Achtung!
Daran denken: wichtige Daten vorab aus dem Homeverzeichnis bzw. aus dem Verzeichnis ~/Private an einen anderen Ort sichern!
Verzeichnis Private entfernen¶
Um das Verzeichnis ~/Private zu löschen, führt man im Terminal [3] nacheinander folgende Befehle aus:
ecryptfs-umount-private chmod 700 ~/Private rm -rf ~/Private ~/.Private ~/.ecryptfs
Homeverzeichnis uncodiert¶
Um das verschlüsselte Homeverzeichnis umzustellen (um unverschlüsselt zu arbeiten) muss man nachfolgende Schritte in der aufgeführten Reihenfolge ausführen.
Vorbereitungen¶
Der Benutzer muss sich einloggen und danach im Terminal [3] mit Root-Rechten seine Daten unverschlüsselt an eine andere Stelle kopieren:
cd / sudo cp -a /home/<Benutzername> /home/backup
Danach startet man das System im Recovery Modus neu, wechselt im "friendly-recovery" zum "root-prompt" und passt die Datei /etc/adduser.conf an, dazu ruft man diese Datei mit einem Editor auf [6] und kommentiert die vorhandene Zeile mit
SKEL=/etc/skel
durch Voransetzen von # aus und schreibt direkt darunter
SKEL=/home/backup
Danach die Datei sichern.
Verschlüsselung entfernen¶
Nun muss man nachfolgende Befehle eingeben, Reihenfolge einhalten!
deluser --remove-home <Benutzername> adduser <Benutzername> adduser <Benutzername> admin rm -rf /home/backup rm -f /home/<Benutzername>/.ecryptfs
und stellt mit einem Editor den alten Zustand wieder her (siehe oben!). Man kehrt mit Strg + D in den friendly-recovery zurück und startet das System nun via resume durch - es sollte das Homeverzeichnis unverschlüsselt - für den Nutzer wieder les- und bearbeitbar sein.
Basis-Programme entfernen¶
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 [3] mit
sudo apt-get remove ecryptfs-utils libecryptfs0 --purge
die Anwendung deinstallieren.
Hinweis:
Sollte es nach dem Entfernen des Basis-Programmes 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.
Probleme behandeln¶
Ordner wird beim Einloggen nicht (mehr) automatisch gemountet¶
Eine mögliche Ursache für dieses Problem könnte sein, dass das Verschlüsselungspasswort nicht mehr im keyring des Benutzers vorhanden ist. Um es dort wieder einzutragen, kann folgender Befehl benutzt werden:
ecryptfs-insert-wrapped-passphrase-into-keyring ~/.ecryptfs/wrapped-passphrase <Login-Passwort>
Dabei sind je nach System und Ubuntu-Version der Pfad zur Datei wrapped-passphrase anzupassen, siehe auch Systempfade der Schlüsseldateien
Fehlermeldung SWAP beim Booten¶
Es kann durch den Eintrag von cryptswap
(verschlüsselte Swap-Partition) in der /etc/fstab beim Booten zu einer Fehlermeldung durch ein "timing-Problem" kommen.
Hinweis:
Man sollte dem Hinweis auf die Benutzung der angebotenen "recovery shell" nicht nachkommen, da damit der Bootvorgang nur unterbrochen wird, dass Problem als solches nicht gelöst wird!
Dieses ist unkritisch - nur sollte man anfangs prüfen, ob die Datei /dev/mapper/<meine_crypted_swap> richtig angelegt wurde. Unter GNOME-Desktop
kann die einwandfreie Funktion mit dem Tool Palimpsest-Laufwerksverwaltung
überprüft werden oder man gibt (bei den anderen Distributionen) im Terminal [3] ein:
sudo blkid /dev/mapper/<meine_crypted_swap>
Die Ausgabe sollte in etwa so aussehen:
[sudo] password for laura: /dev/mapper/<meine_crypted_swap>: UUID="c82ad900-4fb0-4505-8612-557a884676b6" TYPE="swap"
Die ausgegebene "UUID" ist zufällig und wechselt mit jeder Initialisierung!
Keine Initialisierung¶
Vor allem bei "leistungsschwachen" Rechnern kann es passieren, dass die verschlüsselte Swap beim Booten nicht initialisiert wurde. Dann sollte man die /etc/rc.local mit Rootrechten bearbeiten und folgendes vor exit0
eintragen:
blkid /dev/mapper/<meine_crypted_swap> > /dev/null || /etc/init.d/cryptdisks restart;
Links¶