ubuntuusers.de

Einrichten

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Das Paket ecryptfs-utils bietet eine sehr einfache Möglichkeit

oder

Installation

Die Einrichtung eines "verschlüsselten" Homeverzeichnisses kann schon als Option bei der Installation mittels

  • Live-CD (Desktop-Installer) (entfällt ab 18.04)

  • 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.

Allgemeine Hinweise

Wurde die Option "verschlüsseltes" Homeverzeichnis nicht schon bei der Installation ausgewählt, so muss das Paket ecryptfs-utils installiert werden[1]:

  • ecryptfs-utils (universe ab 18.04)

Paketliste zum Kopieren:

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, 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.

Einrichtung Verzeichnis Private

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 

Achtung!

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.

Homeverzeichnis umstellen

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)

Hinweis:

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

Achtung!

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 

Hinweis:

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 (Abschnitt „In-den-Recovery-Modus-booten“)

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.

Zusätzlicher Benutzer

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> 

Hinweis:

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.

Altes Homeverzeichnis verschlüsseln

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.

Hinweis:

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!

Vorbereitungen

Als erstes sollte man sicherstellen, das neben dem umzustellenden Benutzer noch ein weiterer 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 <Weiterer_Benutzername>
sudo adduser <Weiterer_Benutzername> 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 früheren Distributionen geht das durch: Strg + Alt + F1 und zurück kommt man mit Strg + Alt + F7 .

  • Bei Ubuntu 20.04 geht das oft mit anderen Funktionstasten: Strg + Alt + F3 und zurück mit Strg + Alt + F2

  • Welche Funktionstasten bei einer konkreten Installation den Wechsel in ein freies Terminal und wieder zurück bewirken, hängt von der konkreten Installation und der Anmeldesituation ab und muss ausprobiert werden.

Umstellung ausführen

Nun muss man sich mit dem neuen Benutzer <Weiterer_Benutzername> anmelden, danach wenn man dies gemacht hat, beendet man die grafische Oberfläche mit:

sudo systemctl stop display-manager 

Dann verschlüsselt man das Home-Verzeichnis mit:

sudo ecryptfs-migrate-home -u <Umzustellender_Benutzername> 

Als letztes muss man die grafische Oberfläche wieder starten,

sudo systemctl start display-manager 

wieder mit z.B. Strg + Alt + F7 (alt) oder neuer Strg + Alt + F1 (Richtige Funktionstaste vorher ermitteln!) auf die grafische Oberfläche des Anmeldemanagers wechseln und sich als letztes mit dem eigenen Benutzernamen einloggen.

Deinstallation

Achtung!

Daran denken: wichtige Daten vorab aus dem Verzeichnis ~/Private bzw. aus dem unverschlüsselten Homeverzeichnis an einen anderen Ort sichern!

Verzeichnis Private entfernen

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 

Verschlüsselung des Homeverzeichnisses entfernen

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.

Hinweis:

Es muss für die folgende Maßnahme ausreichender Platz auf dem Ziel-Laufwerk vorhanden sein!

Vorbereitungen

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.

Verschlüsselung entfernen

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 hinzu:

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.

Basis-Pakete 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 [2] mit

sudo apt-get purge ecryptfs-utils
sudo apt-get autoremove --purge 

die Anwendung deinstallieren.

Hinweis:

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.

Problembehebung

Benutzerverzeichnis beim Abmelden automatisch aushängen

Wie in der Übersicht beschrieben gibt es einen Bug 1734541, der mit einem Workaround 🇬🇧 behoben werden kann. Dazu muss man einen kleinen Eingriff mit erweiterten Rechten [5] vornehmen. In der Datei /etc/pam.d/common-session-noninteractive wird der Eintrag

	session optional pam_ecryptfs.so unwrap

durch schlichtes Setzen eines # am Zeilenanfang auskommentiert und damit unwirksam.

#	session optional pam_ecryptfs.so unwrap

bekanntes Problem mit dem Workaround

Bei einer Aktualisierung von PAM durch die Paketbetreuer werden diese nicht in das System übernommen. Man erhält u.a. die Meldung:

pam-auth-update: Local modifications to /etc/pam.d/common-*, not updating.
pam-auth-update: Run pam-auth-update --force to override.

Führt man jedoch das vorgeschlagene sudo pam-auth-update --force manuell aus, so ist die Änderung des Workarounds erneut vorzunehmen. Keinesfalls sollte man den Haken bei ecryptfs entfernen, weil dies nicht nur die nichtinteraktiven beträfe.

Diese Revision wurde am 1. September 2020 11:46 von fleet_street erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Verschlüsselung, Sicherheit