• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

crypto-Container (dmcrypt) als User bei Bedarf mounten?

rgoetz

Newbie
Hallo,
ich hoffe ich habe bei der Suche nichts übersehen.

Es geht um folgendes. Ich habe eine Datenbereich, der
a) gecryptet sein soll,
b) nur bei Bedarf gemountet werden soll und
c) als user gemountet werden soll.

Mit cryptoloop war die mit einem entsprechenden Eintrag in der /etc/fstab problemlos möglich (/foo/bar/crypto.container /mount/point ext2 encryption=aes256,loop,user,defaults 0 0).

Mit dm-crypt/Luks scheint das so einfach nicht mehr zu gehen. Gibt es eine Weg dazu?

danke im Voraus

Bis dann

R"udiger
 
OP
R

rgoetz

Newbie
Mit pam mount habe ich es schon probiert, (Nota bene, es geht nicht um das Home-Verzeichnis, sondern um ein zusätzliches Verzeichnis, das aus einem Crypto-Container gemountet wird).

Ich habe folgende Zeile in der fstab:

Code:
/home/crypt/crypt.img /crypt               crypt      user,loop,defaults              0 0

Es ird zwar mount.crypt aufgerufen, aber ich bekomme die Meldung:

Code:
mount.crypt: error setting up loop device for /dev/loop1
mlockall failed: Cannot allocate memory
WARNING!!! Possibly insecure memory. Are you root?
Command failed: Failure to communicate with kernel device-mapper driver.
mount.crypt: error creating
loop: can't delete device : No such file or directory

Offenbar brauche ich zum mounten doch root-Rechte


Mit cryptoloop und

Code:
/home/crypt/work.cmg /matrixWork                  ext3      noauto,user,defaults,loop=/dev/loop7,encryption=twofish256,exec,acl,user_xattr 0 0

funktioniert es dagegen wunderbar.Nur möchte ich eigentlich langsam mal auf dm-crypt umsteigen. Von encfs habe ich bisher zu wenig gehört um dessen Sicherheit einschätzen zu können. Und es encryptet einzelnen Files und keine ganzen Container (was hier gewünscht ist, der Cryptobereich soll nur im Bedarfsfall zugänglich sein und auch wieder heuasgenommen werden können).

Aber schon mal danke für den Hinweis

Bis dann

R"udiger
 
rgoetz schrieb:
Offenbar brauche ich zum mounten doch root-Rechte
Ja logisch, sind beim Login ja auch vorhanden. Ansonstene eben wie gesagt encfs, das geht auch unprivilegiert.
Und es encryptet einzelnen Files und keine ganzen Container (was hier gewünscht ist, der Cryptobereich soll nur im Bedarfsfall zugänglich sein und auch wieder heuasgenommen werden können).
Je nach dem... encfs ist insofern hilfreich als dass es sich auch im geschlossenen Zustand mit rsync transferieren lässt.
 
OP
R

rgoetz

Newbie
jengelh schrieb:
rgoetz schrieb:
Offenbar brauche ich zum mounten doch root-Rechte
Ja logisch, sind beim Login ja auch vorhanden.

Wieso logisch? Beim normalen mounten und bei cryptoloop geht es ja auch ohne, sofern die Option 'user' in der fstab angegeben ist. Und bei cryptoloop muss der mount auch ein previligiertes Kommando (losetup) ausführen, bzw. den dahinter stehenden Kernel-Call.

Je nach dem... encfs ist insofern hilfreich als dass es sich auch im geschlossenen Zustand mit rsync transferieren lässt.
Das trifft auch auf die Methode mit dem Krypto-Container zu, istbder geschlossen, kann er direkt gebackupt werden (Allserdings nur als ganzes und da ist er größer als einzelne Dateien).

Verschlüsselung ist immer auch eine Vertrauensfrage. Und ich kenn encfs zu wenig udn hab zu wenig dazu gehört um ihm schon zu vertrauen. Auch der Einsatz von FUSE macht mich (u.a. ungerechterweise) skeptisch. Ich hatt vor 2-3 Jahren mal damit gearbeitet um mein (damaliges) Siemens S55 einzubinden. Das ganze war arg instabil. Für Kryptografisch gesicherte Daten (die ja wichtig sind, sonst würde man sie nicht schützen) keine vertrauenserweckende Tatsache. (Wobei die Stabiltät von FUSE sich gebessert haben wird und das Problem u.a. auch beim siemensfs lag).

O.K. soweit dazu. Andere Ideen, wie man dm-crypt-Container unpreviligiert zur Laufzeit einbindet?

Bis dann

R"udiger
 
Wenn es einen /sbin/mount.FSTYPE-hier Helferprogramm gibt, hat das SUID-Bit von /bin/mount keinen Einfluss, da kannst du noch soviel "user"-Flags in die fstab schreiben.
Je nach dem... encfs ist insofern hilfreich als dass es sich auch im geschlossenen Zustand mit rsync transferieren lässt.
Das trifft auch auf die Methode mit dem Krypto-Container zu, istbder geschlossen, kann er direkt gebackupt werden (Allserdings nur als ganzes und da ist er größer als einzelne Dateien).
Ja ok, wenn der Container als Datei vorhanden ist. Bei einer Partition wird das schon schwieriger.
O.K. soweit dazu. Andere Ideen, wie man dm-crypt-Container unpreviligiert zur Laufzeit einbindet?
/etc/sudoers anpassen, dass man mount.crypt + Argumente aufrufen darf?
 
OP
R

rgoetz

Newbie
jengelh schrieb:
Wenn es einen /sbin/mount.FSTYPE-hier Helferprogramm gibt, hat das SUID-Bit von /bin/mount keinen Einfluss, da kannst du noch soviel "user"-Flags in die fstab schreiben.
Zu einen, ja, zum anderen, bei cryptoloop geht es ja auch. Ich muss mir wohl mal die Sourcen selbst ansehen. Ich hatte gehofft es gäbe eine "offiziellen" Weg analog zu cryptoloop.

O.K. soweit dazu. Andere Ideen, wie man dm-crypt-Container unpreviligiert zur Laufzeit einbindet?
/etc/sudoers anpassen, dass man mount.crypt + Argumente aufrufen darf?

Wäre ein Möglichkeit. So funktioniert es zwar, damit kann der (oder die) betreffenden User, aber alles mounten und nicht nur "ihren": Cryptocontainer. Ich muss wohl wirklich an die Sourcen.

Bis dann

R"udiger
 
rgoetz schrieb:
jengelh schrieb:
Wenn es einen /sbin/mount.FSTYPE-hier Helferprogramm gibt, hat das SUID-Bit von /bin/mount keinen Einfluss, da kannst du noch soviel "user"-Flags in die fstab schreiben.
Zu einen, ja, zum anderen, bei cryptoloop geht es ja auch.
mount ruft losetup direkt auf, hat also Kenntnis warum es das macht. Bei einem Extrahelper ist das nicht zwingend der Fall -- siehe FUSE, da wäre es sogar *gegenteilig* den Helper mit root auszuführen.
Am einfachsten du schreibst dir ein kleines C-Programm mount.crypt2 mit SUID-Bit oder so, dass dann das normale mount.crypt aufruft, mit root natürlich.
 
OP
R

rgoetz

Newbie
jengelh schrieb:
Am einfachsten du schreibst dir ein kleines C-Programm mount.crypt2 mit SUID-Bit oder so, dass dann das normale mount.crypt aufruft, mit root natürlich.

Darauf wird es wohl hinauslaufen. Nur ist sicherheitskritisches Programmieren nicht meine Domäne (bin eher bei wissenschaftlicher Software zum Eigenbedarf, da stören Buifferoverflow etc nicht in demselben Maße, das schlimmste was passiert ist halt ein Crash). Insofern hatte ich auf eine "offizielle" "gereviewte" Version gehofft.

Bis dann

R"udiger
 
Oben