Cryptsetup per init.d funktioniert nicht

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Jogibär
Beiträge: 149
Registriert: 11.09.2002 22:43:37

Cryptsetup per init.d funktioniert nicht

Beitrag von Jogibär » 28.05.2016 17:37:36

Hallo,

im Rahmen einer neuen HD habe ich mir stretch auf mein Laptop installiert.

Ich möchte per init ein script aufrufen, wo 2 partitionen per cryptsetup gemountet werden soll.
Dies soll mit meinem Script passieren, nicht mit der eingebauten Funktion von debian!
(Ist etwas sonder)

Bloß komischerweise funktioniert es nicht.
Ich bekomme immer "Failed"

Ich habe noch ein 2.Script, wo ich iptables konfiguriere.
Dieses funktioniert ohne Fehler, bis ich testweise mal
am Ende des Scriptes
>>cryptsetup luksOpen /dev/sdb2 sdb2
aufgerufen habe.
Dann bekomme ich zwar auch "Failed", aber iptables ist korrekt konfiguriert.
Ich bekomme bloß kein Promt für meine Passphrase.
Wenn ich folgendes im Script eingebe:
>>cryptsetup --help
dann erscheint in syslog die Hilfe von cryptsetup; das Programm findet er also.

Ich habe es auch schon über rc.local beim Systemstart probiert und habe das gleiche Problem.
Wenn ich rc.local nach dem Systemstart per Konsole aufrufe, dann funktioniert alles.

Also nochmal kurz:
Script Aufruf per Systemstart funktioniert nicht, manuell aber doch.

Was mache ich falsch, bzw. was wurde mal wieder geändert?

Jogibär

TomL

Re: Cryptsetup per init.d funktioniert nicht

Beitrag von TomL » 28.05.2016 17:45:28

Jogibär hat geschrieben:Script Aufruf per Systemstart funktioniert nicht, manuell aber doch.
Versuch mal im Script mit vollständigen Pfaden zu arbeiten. Vielleicht hängt es einfach deshalb, weil er auf Grund unvollständiger Angaben und noch fehlender Environment-Vars die benötigten "Teile" nicht findet. Steht vielleicht im Journal was dazu drin.... ?... irgend eine Fehlermeldung? Und noch ein Tip, bau mal in die rc.local einen Log-Eintrag ein, nur um zu prüfen und sicherzustellen, dass sie wirklich gestartet wird.

Nachtrag... habs erst übersehen...... ein Hinweis, was nicht geht.... du wirst über die rc.local keine Passwordabfrage bekommen.... denn die rc.local wird von root ausgeführt, zu einem Zeitpunkt, wo du noch gar nicht angemeldet bist. Wenn das in Deinem Account ablaufen soll, damit die Passphrase abgefragt wird, muss Du es in den Autostart deines Display-Managers einbauen... denn der ist erst aktiv, wenn Du dich angemeldet hast.

Benutzeravatar
Jogibär
Beiträge: 149
Registriert: 11.09.2002 22:43:37

Re: Cryptsetup per init.d funktioniert nicht

Beitrag von Jogibär » 28.05.2016 17:56:00

Hallo,

Danke für die Antwort.

Habe mal folgendes in die rc.local geschrieben:
>>
beep
read test
beep
<<

Der erste Beep kam, danach schwarzer Bildschirm.
Als ob das System im Hintergrund auf die Eingabe wartet, ich aber nichts eingeben kann.
Habe schnell Knoppix gebootet, und es wieder entfernt.

Es muß doch eine Möglichkeit geben vor dem Start vom KDM ein Cryptsetup aufrufen zu können.
Bei meinem anderen System (Debian 8) mache ich das genauso.

Jogibär

TomL

Re: Cryptsetup per init.d funktioniert nicht

Beitrag von TomL » 28.05.2016 18:08:13

Jogibär hat geschrieben:Es muß doch eine Möglichkeit geben vor dem Start vom KDM ein Cryptsetup aufrufen zu können.
Bei meinem anderen System (Debian 8) mache ich das genauso.
Ja sicher, das geht ja auch.... aber entweder in "Deinem" Autostart.... und wenn es in der rc.local ablaufen soll, dann eben über ein dem cryptsetup vorher zur Verfügung gestellten Schlüssel (Keyfile), der nicht eingegeben werden muss, sondern beim Start schon vorhanden ist. Ich mache das über einen USB-Stick. Wie gesagt, zur rc.local-Zeit erfolgt keine Password-Abfrage, die Du als User beantworten kannst. Ich wiederhole mich noch mal... sieh im Log nach, was da für Hinweise stehen.... ohne Log und den entsprechenden Fehlermeldungen kann man solche Probleme nur schwer lösen.

BTW, mit "read Test" in der rc.local unterbindest Du die weitere Verarbeitung der rc.local, weil die bis in alle Ewigkeit auf eine Eingabe wartet, die nie einer durchführen kann. Besser wäre sowas wie.... "

Code: Alles auswählen

echo "hier ist die rc.local..... hurra, hurra... ich bin da... " >/home/rclocal.log

Benutzeravatar
Jogibär
Beiträge: 149
Registriert: 11.09.2002 22:43:37

Re: Cryptsetup per init.d funktioniert nicht

Beitrag von Jogibär » 28.05.2016 18:48:45

Hallo,

meine Schlüssel befinden sich in einer Datei (verschlüsselt) , die vorher per Passphrase eingebunden werden muß.
Dann werden die Schlüssel ausgelesen und zum Schluß wird die Datei wieder geschlossen.

Es sind mehrere Partitonen, da möchte ich nicht immer jedesmal eine Passphrase eingeben.
Zum Schluß wird die Datei wieder geschlossen, damit die Schlüssel nicht rumliegen.

Jogibär

TomL

Re: Cryptsetup per init.d funktioniert nicht

Beitrag von TomL » 28.05.2016 19:48:02

Jogibär hat geschrieben:Es muß doch eine Möglichkeit geben vor dem Start vom KDM ein Cryptsetup aufrufen zu können.
Bei meinem anderen System (Debian mache ich das genauso.
Ja...?... wie genau ist das gelöst...?... also du hast die Schlüssel verschlüsselt und da wird von der rc.local ein Password abgefragt und du kannst das eingeben, um die Schlüssel zu entschlüsseln, mit denen dann irgendwelche Partitionen entschlüsselt werden?

Antworten