cryptfs helyett dm-crypt védett home

merhogy soha nem bíztam a jól összerakott desktop environmentben, (icewm forever) ennélfogva soha ki sem próbáltam a beépített homedir cryptálást

de adatot védelem nélkül nem mozgatunk, beleértve az internetet, és a hátizsákban notebookot is

így mégis ráadtam a fejelemt az fscryptre, és hamar ki is derült, hogy a még ki sem adott debian 11-ben lévő fscrypt már el is avult

Nembaj, egyetlen felhasználó vagyok, egyetlen homedir, lehet az önálló partíció, így használhatom a dm-crypt megoldást, amit ismerek. Heggesszük össze lighdm+icewm kombinációval, persze, utólag, használat közben.

Kattintás után a megoldás.

cryptsetup luksFormat /dev/mapper/root-maulis

cryptsetup open /dev/mapper/root-maulis home-maulis

mkfs.ext4 /dev/mapper/home-maulis

/etc/pam_cryptsetup.sh:

#!/bin/bash
# see https://wiki.archlinux.org/index.php/Dm-crypt/Mounting_at_login

CRYPT_USER="maulis"
MAPPERDEV="home-$CRYPT_USER"
MAPPER="/dev/mapper/$MAPPERDEV"

if [ "$PAM_USER" == "$CRYPT_USER" ] && [ ! -e $MAPPER ] && [ "$PAM_TYPE" == "auth" ]
then
  logger "$0 ($PAM_TYPE) running on user $PAM_USER and opening $MAPPERDEV"
  tr '\0' '\n' | /usr/sbin/cryptsetup open --type luks /dev/mapper/root-maulis $MAPPERDEV &&  mount -v $MAPPER
elif [ "$PAM_USER" == "$CRYPT_USER" ] && [ -e $MAPPER ] && [ "$PAM_TYPE" == "close_session" ]
then
  logger "$0 ($PAM_TYPE) running on user $PAM_USER and trying to unmount/close $MAPPERDEV"
  umount $MAPPER && /usr/sbin/cryptsetup close $MAPPERDEV && logger "$0 $MAPPER is successfully closed."
else
  logger "$0 ($PAM_TYPE) running on user $PAM_USER and do nothing"
fi


Meg persze a /etc/pam.d/common-session és common-auth -ba

auth optional   pam_exec.so expose_authtok  /etc/pam_cryptsetup.sh

session optional  pam_exec.so quiet log=/var/log/pam_cryptsetup.log /etc/pam_cryptsetup.sh

Az itinerként használt archlinux leírás egy roppant elegáns (ámde nehezen debuggolható és kissé lassú) systemd trükközéseket használt, amiből nem kértem. Egy egyemberes nodeboknak a fenti elég lesz.

Működik.

Hozzászólások

https://wiki.archlinux.org/index.php/Dm-crypt/Mounting_at_login

alapján dolgoztam. Ez elegáns, ámde bonyolult módot mutat arra, hogyha az ember többször lépb be, akkor is csak az utolsó kilépése esetén legyen a home-je dismount/lock. Ezt egyszerűsítettem le a fent közölt scriptrel. Az általad mutatott wiki cikk más célra lő elsősorban, de nem lehetetlen, hogy az áltam igényelt funkciót is megvalósítja. Mindenesetre kajánul látom, hogy a 10 évvel ezelötti őrült XML-esítés után mostanában mindenhol jsont használnak.

Systemd és XML? Mindenhol ini-style konfigot használnak (*), ami itt a több szintű struktúra miatt nem játszik...

(*): Van egy xml.h és xml.c a forrásában, a D-Bus miatt kell, de azért erősen XML-subset az, amit támogat :)

BlackY

"Gyakran hasznos ugyanis, ha számlálni tudjuk, hányszor futott le már egy végtelenciklus." (haroldking)

Szerkesztve: 2020. 05. 17., v – 02:11

miert jo csak a home-ot titkositani ilyen bonyolultan? van mas aki szinten hasznalja a gepet, es nem akarod hogy lassa a te adataidat?

nalam az egesz fs titkositva van. mai cpukban mar van aseni, azzal gyors a kodolas, ha jol tudom fstrim is atmegy mar.

A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Egyébként nem is értem, miért nem választható alap a profil teljes titkosított  kezelhetősége. Home gép vagy vállalati, az lényegtelen is. - Bármilyen oprendszeren alap kellene hogy legyen, a felhasználó jelszóhasználatának is csak így van értelme.