"cryptsetup create ..." beim aufstarten

Roland Knöpfli roland.knoepfli at gmx.ch
Sat Aug 13 14:43:37 UTC 2005


hallo david,

vielen dank für das skript. hab mit meinen bescheidenen kenntnissen 
heute morgen selbst eines gebastelt. das sieht etwa so aus:

in /etc/rc.d/rc.local steht:

# CREATE CRYPTODISK
/opt/scripts/cryptmount.sh


und in /opt/scripts/cryptmount.sh steht:


echo Create Cryptodisk DATA \(/dev/hdb1\) ...
/sbin/cryptsetup create Data /dev/hdb1
echo
#
# CHECK IF DISK IS MOUNTABLE / PASSPHRASE IS CORRECT
echo Trying to mount Cryptodisk DATA on /media/Data ...
if mount /media/Data
then    echo
         echo Mounted /dev/mapper/Data on /media/Data
else    echo
         echo Wrong Passphrase!
         /sbin/cryptsetup remove Data
         #recursive call until passphrase is correct
         source /opt/scripts/cryptmount.sh
fi


ist vielleicht ein wenig unprofessionel, funktioniert aber bestens.

zu deinem problem mit der variabel $CIPHERPWD: ich hab gemeint mal 
irgendwo gehört zu haben, dass sowohl der mount als auch zB. der 
crpytsetup befehl keine passwörter aus variabeln auslesen. sie können 
höchstens aus einem file ausgelesen werden.
deshalb würde ich es mal so versuchen:

passwort in variabel lesen / variabelwert in file schreiben / mount mit 
parameter -p filename ausführen / file löschen

ehrlich gesagt wäre mir das dann aber schon wieder zu unsicher, da man 
ja weiss, das auf festplatten gelöscht nicht gleich gelöscht bedeutet.

mfg roland

David Saro wrote:
> Am Freitag, 12. August 2005 23:14 schrieb Roland Knöpfli:
> 
>>hallo david,
>>
>>das von dir beschriebende problem mit fehlerhaften superblock ist bei
>>mit nie aufgetreten.
>>die cryptodisk habe ich folgendermassen erstellt:
>>
>>1. 'cryptsetup create EIGENERnameDERdisk /dev/hdb1' ausführen und
>>passwort festlegen.
>>
>>2. mit 'mkfs.ext3 /dev/mapper/EIGENERnameDERdisk' ein ext3 filesystem
>>auf der cryptodisk anlegen
>>
>>3. disk mit 'mount /dev/mapper/EIGENERnameDERdisk /media/einhängpunkt'
>>mounten. wahlweise eintrag in fstab erstellen.
>>
>>punkt 2 nur beim ersten erstellen der disk ausführen. ansonsten
>>formatierst du die disk jedes mal.
>>
>>für den ganzen vorgang musst du als root eingeloggt sein und ein kernel
>>der 2.6er reihe ist die grundvoraussetzung.
> 
> Also ich hatte das irgendwie anders gemacht. Stand in irgendeinem CT-Magazin, 
> was ich aber gerade verliehen hab. Aber egal. Ich habs ja jetzt anderes 
> hinbekommen.
> 
>>nochmal zu deiner frage: wenn ich nach einem neustart die cryptodisk mit
>>'cryptsetup create EIGENERnameDERdisk /dev/hdb1' wieder erstelle, muss
>>ich das zuerst definierte passwort angeben. 'cryptsetup' gibt dann aber
>>keine auskunft, ob ich das richtige passwort eingegeben habe. erst beim
>>mount befehl sehe ich, ob ich mich vertippt habe. dann kommt nämlich
>>folgende meldung:
>>
>>mount: wrong fs type, bad option, bad superblock on
>>/dev/mapper/EIGENERnameDERdisk,
>>        missing codepage or other error
>>        In some cases useful info is found in syslog - try
>>        dmesg | tail  or so
> 
> Du kannst ja in '/etc/rc.d/rc.local' folgendes schreiben:
> 
> mountS=0
> cryptsetup create EIGENERnameDERdisk /dev/hdb1
> while [ "$mountS" != "1" ]; do
> 	mount /dev/mapper/EIGENERnameDERdisk /media/einhängpunkt
> 	if [ $? -le 0 ]; then
> 	   echo "mount success"
> 	   mountS="1"
> 	else
> 	   echo "mount failed. Try again."
> 	fi
> done
> 
> So sollte das Skript dich solange fragen, bis es das richtige Passwort hat. 
> Leider kann ich dir keine Funktionsgarantie geben, da ich es nicht selber 
> ausprobiert, sondern aus einem Buch abgeschrieben habe. Sag mir bitte 
> bescheid, wenn du es erfolgreich einsetzen solltest.
> 
>>vielleicht hast du ja diese fehlermeldung gemeint.
> 
> Nein. Es wäre schön gewesen wenn es bei einer Meldung geblieben wäre. Das 
> Problem war, dass er beim booten meinte, das der Superblock falsch wäre, und 
> er deswegen es prüfen müsse. Ich konnte mit ja oder nein entscheiden ob er es 
> tun soll, denn er braucht dazu Superuserrechte (also auch das Passwort). Bei 
> ja gab ich das Passwort ein, und er meinte er könne das Problem nicht beheben 
> und startete den PC neu. Bei nein startete er sofort neu. Die einzige 
> Möglichkeit damals war, von einer CD zu booten und die entsprechende 
> Partition normal, ohne Verschlüsselung, zu formatieren.
> 
> Da wir gerade beim Thema Shell sind:
> Ich habe mehrere Cryptocontainer, will aber nur einmal das Passwort eingeben 
> müssen beim starten des PCs. Folgendes müsste eigentlich funktionieren, tut 
> es aber nicht:
> 
> echo "Cryptpassword:"
> read -s CIPHERPWD
> echo "$CYPHERPWD" | mount -p 0 -o encryption=aes -t ext3 
> -r /tresor/tresor.img /home
> echo "$CYPHERPWD" | mount -p 0 -o encryption=aes -t ext3 
> -r /tresor/tresor2.img /tmp
> unset CIPHERPWD
> 
> So fängt die Fehlermeldung an:
> mount: wrong fs type, bad option, bad superblock on...
> Wenn ich 'mount -o encryption=aes -t ext3 -r /tresor/tresor.img /home' 
> eingebe, fragt er mich nach dem Passwort, und mountet es Ordnungsgemäß.
> Wo ist mein Denkfehler im oberen Listing?
> 
> 
> 
>>mfg Roland
> 
> Ciao
> 
>>David Saro wrote:
>>
>>>Am Freitag, 12. August 2005 16:04 schrieb Roland Knöpfli:
>>>
>>>>hallo zusammen,
>>>
>>>Hi,
>>>
>>>
>>>>habe vor ein paar wochen von ubuntu 5.04 zu FC4 gewechselt und vermisse
>>>>nun folgende funktion:
>>>>
>>>>die festplatte /dev/hdb habe ich mit hilfe von cryptsetup verschlüsselt,
>>>>da sich darauf einige vertrauliche daten befinden. unter ubuntu (und
>>>>soweit ich weiss bei allen debian-basierten distris) konnte ich das file
>>>>/etc/crypttab anpassen, sodass der befehl 'cryptsetup create VolName
>>>>/dev/hdb1' beim systemstart ausgeführt wurde. ich musste dann jeweils
>>>>noch vor dem eigentlichen login das entsprechende passwort eingeben.
>>>>durch den entsprechenden eintrag in der fstab wurde die partition dann
>>>>auch gleich noch gemounted.
>>>
>>>Also wenn du ein Befehl vor dem eigentlichen login ausführen willst,
>>>empfehle ich dir die /etc/rc.d/rc.local
>>>Ich hab dort "mount -o encryption=aes /tresor/tresor.img /home" drin.
>>>Funtioniert wunderbar.
>>>
>>>
>>>>meine frage: unter FC4 gibt es die möglichkeit von 'crypttab' nicht. wie
>>>>könnte ich es trotzdem bewerkstelligen, damit ich eine ähnlich
>>>>komfortable lösung wie bei ubuntu hinkriege? (xterm öffnen -> 'su' ->
>>>>befehl -> passwort -> mountbefehl, ist mir einfach zu mühsam).
>>>
>>>Jetzt hab ich noch eine Frage. Ich hab extra ein Partition und darauf
>>>eine Datei erstellt, und benutze die nun als Cryptcontainer. Du schreibst
>>>das du /dev/hdb1 verschlüsselt hast. Als ich eine Partition verschlüsselt
>>>hatte, kam beim booten eine Meldung das der Superblock nicht korrekt sei.
>>>Die Lösung wäre gewesen, eine vmlinuz oder eine initrd selber zu
>>>erstellen. Doch da das bei jedem Kernelwechsel von Nöten wäre, hab ich
>>>lieber die Lösung mit dem Cryptocontainer gewählt. Gibt es vielleicht
>>>eine Möglichkeit diesen Check zu unterbinden?
>>>
>>>
>>>>mfg roland
>>>
>>>David
>>>
>>>
>>>>--
>>>>Fedora-de-list mailing list
>>>>Fedora-de-list at redhat.com
>>>>http://www.redhat.com/mailman/listinfo/fedora-de-list
>>>
>>>--
>>>Fedora-de-list mailing list
>>>Fedora-de-list at redhat.com
>>>http://www.redhat.com/mailman/listinfo/fedora-de-list
>>
>>--
>>Fedora-de-list mailing list
>>Fedora-de-list at redhat.com
>>http://www.redhat.com/mailman/listinfo/fedora-de-list
> 
> 
> --
> Fedora-de-list mailing list
> Fedora-de-list at redhat.com
> http://www.redhat.com/mailman/listinfo/fedora-de-list
> 
> 




More information about the Fedora-de-list mailing list