Hallo Gentooforum,
ich habe folgendes Problem:
Ich habe eine externe Festplatte, welche ich in 2 Paritionen aufgeteilt habe. Die erste ist mit cryptsetup (aes) verschlüsselt und hat als Dateisystem NTFS (ja über das Dateisystem lässt sich streiten, aber ich habe leider noch keine Möglichkeit gefunden eine verschlüsselte ext3 Partition unter Windows zum Laufen zu bringen, Free OTFE und Ext2 IFS sind mir bekannt). Naja auf jeden Fall würde ich es gerne so einrichten, dass die erste Parition, welche ja verschlüsselt ist, sofort beim Starten automatisch entschlüsselt und eingehängt wird.
Also hab ich mir Gedanken gemacht, wie ich das am Besten realisieren könnte. Einfach ein Skript schreiben und autostarten lassen wäre ungünstig, da die verschlüsselte Parition ja auch wieder ordnungsgemäß ausgehangen werden soll.
Dann stieß ich auf /etc/crypttab. Leider nur unter Ubuntu und Debian verfügbar (kennt jemand eine Alternative für Gentoo?).
Letztendlich bin ich dann bei einem Initskript hängen geblieben.
Ich habe das Grundgerüst vom Gentoo Handbuch genommen und leicht modifiziert.
Hier mal das Initskript crypt-extHDD:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#!/sbin/runscript
depend() {
need crypto-loop dmcrypt device-mapper
}
start() {
ebegin "Mounten der verschlüsselten externen Festplatte"
start-stop-daemon --start --exec /home/markus/bin/crypt-extHDD-start.sh
eend $?
}
stop() {
ebegin "Unmounten der verschlüsselten externen Festplatte"
start-stop-daemon --stop --exec /home/markus/bin/crypt-extHDD-stop.sh
eend $?
}
|
crypt-extHDD-start.sh:
|
Quellcode
|
1
2
3
|
#!/bin/bash
cryptsetup luksOpen /dev/sdc1 platte < crypt-extHDD.key
mount /dev/mapper/platte /mnt/extHDD
|
crypt-extHDD-stop.sh:
|
Quellcode
|
1
2
3
|
#!/bin/bash
umount /dev/sdc1
cryptsetup luksClose platte
|
Beim Starten kommen folgenden relevanten Fehlermeldungen:
|
Quellcode
|
1
2
3
4
5
6
|
The dmcrypt init script is written forbaselayout-2
Please do not use it with baselayout-1
...
ERROR: Some services needed are missing. Run './crypt-extHDD broken' for a list of those services. crypt-extHDD was not started.
The device-mapper init script is written for baselayout-2
Please do not use it with baselayout-1
|
Wenn ich auf der Shell dann '/etc/init.d/crypt-extHDD broken' eingebe kommt folgendes:
|
Quellcode
|
1
2
|
odin markus # /etc/init.d/crypt-extHDD broken
devicemapper
|
Ich habe die Abhängigkeiten in needs aus dem Bauch heraus ausgewählt, da ich nicht wirklich wusste, welche abhängigkeiten genau benötigt werden. Des Weiteres ist crypt-extHDD, crypt-extHDD-start.sh und crypt-extHDD-stop.sh ausführbar und ich habe einen symbolischen link auf /etc/init.d/crypt-extHDD in /etc/runlevels/default/crypt-extHDD gesetzt.
Dann habe ich noch per 'rc-update add foo default' crypto-loop, dmcrypt und device-mapper zum default runlevel hinzugefügt.
Ich weiß nicht mehr, was ich noch machen könnte.
Ich denke mal, es hat etwas mit baselayout zu tun, aber weder Wikipedia noch Google konnte mir etwas anständiges dazu sagen, was baselayout ist.
lg der tote Mann