Hallo zusammen,
als langjähriger Windows-Nutzer plane ich mittelfristig den Umstieg auf Ubuntu. Um mich mit dem System vertraut zu machen habe ich zunächst eine VM aufgesetzt.
Ziel
Ich versuche folgende Situation herzustellen, die ich derzeit unter Windows 7 mittels Truecrypt realisiert habe: Das OS wird von einer primären SSD gebootet, diese ist schon aus Performancegründen unverschlüsselt. Programme liegen ebenso dort. Meine Daten liegen auf einer sekundären, verschlüsselten HDD, die nach erfolgreichem Login ins System eingebunden wird. Ich möchte dazu explizit jedes Mal meine Passphrase eingeben. Ich schreibe das, weil sich sehr viele Google-Ergebnisse die ich in den letzten Tage hatte damit beschäftigen, die Passphrase nicht eingeben zu müssen. Das ist also nicht mein Ziel.
Weiterhin möchte ich die HDD (im Notfall) an jedem anderen Ubuntu-PC mit der Passphrase einfach entschlüsseln/mounten können.
Für mich klingt das Ganze nach einem recht gängingen Setup und ich war zuversichtlich, dass das Ganze leicht hinzubekommen sein müsste. Leider ist dem nicht so, vielleicht bin ich aber auch einfach nur auf dem falschen Weg?
Vorgehensweise
In eine VM habe ich ein Ubuntu 18.04LTS auf eine virtuelle SSD installiert.
Basierend auf den Artikeln LUKS, Daten verschlüsseln und Partitionen verschlüsseln habe ich eine (virtuelle) sekundäre SSD erfolgreich verschlüsselt. Sie kann nun über die Shell mittels
1 2 | sudo cryptsetup luksOpen /dev/sdb daten_mapper sudo mount /dev/mapper/daten_mapper /mnt/daten |
eingebunden werden.
Wie schon beschrieben möchte ich die HDD nach Systemstart automatisch einbinden. Automatisch heißt nicht, das ich mir die Passphrase sparen will. Ich möchte nur nicht jedes Mal obige Zeilen in die Shell tippen. Ich habe also ein bash-Skript "etc/unlock" erstellt:
1 2 | cryptsetup luksOpen /dev/sdb daten_mapper mount /dev/mapper/daten_mapper /mnt/daten |
Dieses rufe ich mit sudo etc/unlock auf.
Zusätzlich habe ich zu etc/sudoers noch hinzugefügt:
1 | user ALL=(ALL:ALL) NOPASSWD: /etc/unlock |
Damit sollte ich mir nach meinem Verständnis das sudo-Passwort vor Eingabe der Passphrase sparen können.
Probleme
Zu meiner Überraschung funktioniert schon der Aufruf des Skriptes oben aus der Shell nicht jedes Mal. Oft wird die Festplatte einfach nicht gemountet, obwohl cryptsetup und mount jeweils 0 returned (echo $?). Wie kann das sein? Der mapper wird zuverlässig erstellt. Muss ich etwa mit sleep warten?
Meine Probleme werden noch größer, wenn ich versuche den Aufruf des Skripts nach Systemstart automatisch durchführen zu lassen.
Die Standardmethode dazu ist, sofern ich das richtig verstanden habe, der Aufruf des Skripts am Ende der ~/.profile. Wenn ich das tue erscheint dann der Login-Screen und nach dem Anmelden nur noch ein dauerhaft schwarzer Bildschirm. Ich kann allerdings in eine virtuelle Konsole wechseln. Dort läuft dann alles so ab, wie es mir für die GUI wünsche: Ich werde nach den Nutzerdaten gefragt, danach nach der Passphrase.
Kann das Verhalten (teilweise) mit der VM erklärt werden? Hätte ich die Probleme im "Realbetrieb" ggf. gar nicht?
Gibt es ggf. einen einfachen Weg, den jeder erfahrene Linux-User sofort gehen würde? Ich habe das Gefühl dass ich u.U. einfach nicht weiß nach was ich eigentlich suche...
Vielen Dank im Voraus!