Ubuntu bietet während der Installation nicht mehr die Möglichkeit, Home-Verzeichnisse zu verschlüsseln. Wenn man dies nachträglich tun möchte, reichen ein paar Befehle dazu aus.
Es wird fscrypt für die Verschlüsselung verwendet. Beim Einloggen wird das Home-Verzeichnis automatisch mit seinem Passwort entschlüsselt.
Beginn
Zu Beginn wird die Partition definiert, auf der das /home Verzeichnis liegt - dies könnte /dev/sda1
sein - prüfen mit df -h
(wenn es keine /home
Partition gibt, ist es vermutlich die /
Partition)
export DEVICE=/dev/sda1
Damit die Verschlüsselung auf dem Dateisystem aktiviert werden kann, muss zuerst geprüft werden ob die Blockgröße gleich der Seitengröße ist. Wenn dies nicht der Fall ist NICHT DIE VERSCHLÜSSELUNG AKTIVIEREN
!
getconf PAGE_SIZE
4096
sudo tune2fs -l $DEVICE | grep 'Block size'
Block size: 4096
Wenn die beiden Werte gleich sind (hier 4096) kann die Verschlüsselung aktiviert werden:
tune2fs -O encrypt $DEVICE
Nun wird fscrypt installiert
sudo apt install fscrypt libpam-fscrypt
PAM einrichten
Erstellen der Datei /usr/share/pam-configs/keyinit-fix
(benötigt sudo Rechte) und befüllen:
Name: keyinit fix
Default: yes
Priority: 0
Session-Type: Additional
Session:
optional pam_keyinit.so force revoke
Danach wird konfiguriert, dass fscrypt PAM verwenden kann
sudo pam-auth-update
Nun aus- und einloggen, damit die neuen PAM-Dateien geladen werden.
Verschlüsselung des Home-Verzeichnisses
Der folgende Befehl muss in einem Terminal als root-Benutzer oder einem anderen Benutzer erfolgen, dessen /home Verzeichnis verschlüsselt werden soll (<user>
durch den gewünschten Benutzernamen ersetzen):
sudo su -
export USERNAME=<user>
mv /home/$USERNAME /home/$USERNAME.bak
mkdir /home/$USERNAME
chown $USERNAME:$USERNAME /home/$USERNAME
fscrypt encrypt /home/$USERNAME --user=$USERNAME
rsync -avH --info=progress2 --info=name0 /home/$USERNAME.bak/ /home/$USERNAME/
rm -rf /home/$USERNAME.bak