ich habe neben meinem Home Verzeichnis, das verschlüsselt sein sollte, auch 2 Luks Partitionen erstellt. Aktuell werden diese automatisch, mit Schlüssel aus /etc gemountet, was ja mehr oder weniger die Verschlüsselung aushebelt.
Daher würde ich die Schlüssel gerne im Home ablegen und die Luks Partitionen erst nach dem Login mounten. Dazu hätte ich aber einige Fragen.
1. Wie kann ich sicher sein, dass mein Home Verzeichnis wirklich verschlüsselt ist?
Aktuell sehe ich das hier in meinem Home:
Code: Select all
lrwxrwxrwx 1 albarex albarex 29 Mär 25 23:53 .Private -> /home/.ecryptfs/albarex/.Private/
2. Wie kann ich die beiden Partitionen nach dem Login am besten mounten und in welchem Skript?
Genügt es wenn ich nach dem Login einfach ein Skript mit
Code: Select all
mount x
mount y
3. Muss ich die Partitionen beim Herunterfahren oder beim Logout aktiv un-mounten?
Nachtrag:
Habe inzwischen herausgefunden, dass 2. ganz gut funktioniert. Nur in /etc/crypttab muss noch jeweils die option noauto eingefügt werden. Leider muss ich zum mounten nach dem Login das hier eintippen oder als Skript manuell ausführen, da ein Passwort benötigt wird.
Code: Select all
#!/bin/sh
sudo cryptdisks_start sda2_crypt
mount /media/albarex/Extraspace/
Vielleicht kann mir jemand einen Tipp geben wie ich so ein Skript nach dem Login automatisch ohne Passwort ausführen kann.
Nachtrag2:
Nach vielen Versuchen läuft es jetzt. Falls es jemanden interessiert: Damit ein setuid Programm mit Root Rechten ausgeführt werden kann, muss es offenbar in einem der vorkonfigurierten bin Ordner liegen. (Oder man muss sich mit sudoers.d herumquälen und es riskieren sein Linux aus der Root-Bash reparieren zu müssen ).
Ich habe mir dieses kleine Programm und ein Build Skript geschrieben, dass die Luks Partitionen mountet, ohne dass ein Passwort eingeben werden muss. Wenn man das Programm ans Ende der ~/.profile Datei stellt, wird es automatisch beim Login ausgeführt.
crypt_mount.c
Code: Select all
#include <stdlib.h>
#include <unistd.h>
int main() {
int status = setuid(0);
system("/usr/sbin/cryptdisks_start sda2_crypt");
system("/usr/sbin/cryptdisks_start sda3_crypt");
system("/usr/bin/mount /media/albarex/Extraspace/");
system("/usr/bin/mount /media/albarex/Timeshift/");
exit(0);
}
Code: Select all
#!/bin/bash
gcc crypt_mount.c -o crypt_mount
sudo chown root:root crypt_mount
sudo chmod 4755 crypt_mount
sudo mv crypt_mount /usr/local/bin
Code: Select all
sda2_crypt UUID=xxxx...xxxx /home/albarex/luks/backup-disk-key luks,noauto
sda3_crypt UUID=xxxx...xxxx /home/albarex/luks/extraspace-disk-key luks,noauto
Code: Select all
/dev/mapper/sda2_crypt /media/albarex/Timeshift ext4 defaults,user,noauto 0 2
/dev/mapper/sda3_crypt /media/albarex/Extraspace ext4 defaults,user,noauto 0 2