PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Passwortübergabe an losetup?



meinereinerseiner
13-05-2003, 13:24
Hi,

hab mitlerweile eine lösung für mein smartcard Problem gefunden, allerdings hab
ich ein neues - und zwar geht es um die übergabe des Passwortes an losetup.

weder ein:


echo $key | losetup -e aes -k 256 /dev/loop0 /dev/hde1



noch ein:


losetup -e aes -k 256 /dev/loop0 /dev/hde1 <<EOF
$key
EOF


geschweige denn:


losetup -e aes -k 256 /dev/loop0 /dev/hde1 < echo "$key"


klappt - es kommt immer die Frage nach dem passwort. losetup selbst hat keine mir
bekannte option den key per option zu übergeben.

fällt jemand noch was anderes ein?

evtl gehts ja mit expect, allerdings sehe ich da in der syntax kein land.

ich habe da mal noch einen perl Codeschnipsel gefunden, das scheintz ja im ansatz
die lösung zu sein, nur wie baue ich das für die shell um?



my $exp=Expect->spawn($LOSETUP);
$exp->expect(5,
[ qr'size', sub { my $f = shift; $f->send("$keysize\n");
exp_continue; }],
[ qr'asswor', sub { my $f = shift; $f->send("$pw\n");
exp_continue; }],
'-re', '[\]\$\>\#]\s$');




ein:


expect -c 'spawn losetup -e aes -k 256 /dev/loop0 /dev/hde1 ; expect "Passwort:" ; send "${key}\r"'

tut nicht


der tom

Badsteve
13-05-2003, 17:19
ich habe es schon mal mit expect gemacht. Versuch mal das \r durch ein \n zu setzen.


Steve

meinereinerseiner
13-05-2003, 17:33
schade, aber das wars auch nicht

Badsteve
13-05-2003, 17:42
losetup gibt wirklich "Passwort" aus ? Das deutsche Wort ?

meinereinerseiner
13-05-2003, 18:03
ja tut es!

selbst:
expect -c 'spawn losetup -e aes -k 256 /dev/loop0 /dev/hde1 ; expect "asswor" ; send "${key}\n"'


tut nicht

Badsteve
14-05-2003, 16:40
vielleicht geht das ja. Habe ich mal kurz in Perl geschrieben.


#!/usr/bin/perl

use Expect;

my $exp = Expect->spawn ("losetup", "-e aes -k 256 /dev/loop0 /dev/hde1");
$exp->expect("5", "Passwort");
$expt->send("Passwort\n");

sleep 2;
exit;


ich kann dir nich so genau sagen, ob es funktioniert. Ich hatte keine Zeit nachzugucken.

Steve

meinereinerseiner
14-05-2003, 16:43
habs jetzt auch mit perl zum rennen bekommen:



my $exp=Expect->spawn($LOSETUP);
$exp->expect(5,
[ qr'asswor', sub { my $f = shift; $f->send("$pw\n");
exp_continue; }],
'-re', '[\]\$\>\#]\s$');


das tut - ist zwar nicht so elegant, weil ich so 2 scripte brauch, aber wie gesagt es geht.

DANKE

der tom