shy
29.12.05, 17:56
Hallo :)
Ich benutze Ubuntu 5.10 und habe unteranderem /var und /tmp auf eine verschlüsselte Partition verlinkt.
Desswegen habe ich ein Script in /etc/rcS.d verlinkt,
um die Partition per 'cryptsetup -d ${keyfile} luksOpen ..' rechtzeitig zu öffnen und zu mounten,
bevor /var und /tmp von anderen Prozessen erst benötigt werden.
Das Keyfile liegt momentan auf der Festplatte,
soll aber mit gpg verschlüsselt auf einen Usbstick (/dev/sdb1) gelegt werden.
Das Script soll jetzt überprüfen ob der Usbstick eingesteckt ist, ihn mounten, das verschlüsselte
Keyfile.gpg auf eine Ramdisk kopieren und es dort durch Passphrase-Eingabe mit gpg entschlüsseln.
Falls der Usbstick nicht eingesteckt ist, werden die bereits gestarteten Scripte beendet.
Mit '../init.d/halt' sollte die Maschine dann ausgeschaltet werden. Sauber? 8)
Mein Problem ist jetzt, dass das Script teilweise nur im Terminal unter X funktioniert und nicht beim Booten.
Da ich noch keine Ahnung vom "Shell-Scripten" habe sieht dies so aus:
Heirmit wollte ich ungefär überpfüfen ob der Usbstick eingesteckt ist:
mkdir /mnt/dev
mount /dev/sdb1 /mnt/dev
(Funktioniert nicht beim Booten und gibt natürlich Fehlermeldung wenn Usbstick fehlt)
if [ -f /mnt/dev/key.gpg ]; then
echo "Usbstick ist da!"
else
echo "Wo ist der Usbstick?"
fi
Erstellen von Ramdisk:
mkfs.ext2 /dev/ram0
mkdir /mnt/key
mount /dev/ram0 /mnt/key
Entschlüsseln des Keyfiles:
cp /mnt/dev/key.gpg /mnt/key
gpg /mnt/key/key.gpg
(Beim Booten friert bei der Passphrase-Abfrage alles ein, sodass nichts mehr geht)
Dann wollte ich noch ein kleines Menü bei dem man gefragt wird,
ob man den Stick noch einsteckt oder ob man herunterfahren möchte:
echo "Nochmal?"
read value (Hier friert ebenfalls alles ein)
if..
Kann es sein, dass diese Funktionen noch nicht möglich sind (Boot),
oder muss das Script nur angepasst und verbessert werden und kann mir dabei jemand helfen? :D
Ich benutze Ubuntu 5.10 und habe unteranderem /var und /tmp auf eine verschlüsselte Partition verlinkt.
Desswegen habe ich ein Script in /etc/rcS.d verlinkt,
um die Partition per 'cryptsetup -d ${keyfile} luksOpen ..' rechtzeitig zu öffnen und zu mounten,
bevor /var und /tmp von anderen Prozessen erst benötigt werden.
Das Keyfile liegt momentan auf der Festplatte,
soll aber mit gpg verschlüsselt auf einen Usbstick (/dev/sdb1) gelegt werden.
Das Script soll jetzt überprüfen ob der Usbstick eingesteckt ist, ihn mounten, das verschlüsselte
Keyfile.gpg auf eine Ramdisk kopieren und es dort durch Passphrase-Eingabe mit gpg entschlüsseln.
Falls der Usbstick nicht eingesteckt ist, werden die bereits gestarteten Scripte beendet.
Mit '../init.d/halt' sollte die Maschine dann ausgeschaltet werden. Sauber? 8)
Mein Problem ist jetzt, dass das Script teilweise nur im Terminal unter X funktioniert und nicht beim Booten.
Da ich noch keine Ahnung vom "Shell-Scripten" habe sieht dies so aus:
Heirmit wollte ich ungefär überpfüfen ob der Usbstick eingesteckt ist:
mkdir /mnt/dev
mount /dev/sdb1 /mnt/dev
(Funktioniert nicht beim Booten und gibt natürlich Fehlermeldung wenn Usbstick fehlt)
if [ -f /mnt/dev/key.gpg ]; then
echo "Usbstick ist da!"
else
echo "Wo ist der Usbstick?"
fi
Erstellen von Ramdisk:
mkfs.ext2 /dev/ram0
mkdir /mnt/key
mount /dev/ram0 /mnt/key
Entschlüsseln des Keyfiles:
cp /mnt/dev/key.gpg /mnt/key
gpg /mnt/key/key.gpg
(Beim Booten friert bei der Passphrase-Abfrage alles ein, sodass nichts mehr geht)
Dann wollte ich noch ein kleines Menü bei dem man gefragt wird,
ob man den Stick noch einsteckt oder ob man herunterfahren möchte:
echo "Nochmal?"
read value (Hier friert ebenfalls alles ein)
if..
Kann es sein, dass diese Funktionen noch nicht möglich sind (Boot),
oder muss das Script nur angepasst und verbessert werden und kann mir dabei jemand helfen? :D