frank-gue
Goto Top

Shell Skript macht nicht was ich möchte

Frage zu einem Skript

Ich habe eine alte Datei gefunden, die ist verschlüsselt.
Da ich das Passwort nicht mehr weis; aber mir ab und zu noch "alte" Passworte einfallen,
wollte ich das mit einem Shell Skript lösen. In einer pw.txt Datei kommen die Passworte
Zeilenweise. (man kann dann sehen A Das PW hatte ich das schon B ob das neue Passwort passt)

Beispiel:

Befehl Parameter1 = Passwort Datei Parameter2 = Verschlüsselte Datei
Shellskript -d pw.txt Verschl-Datei.txt.cpt

In der pw.txt Datei stehen 1. Zeile Sommer 2. Zeile Winter
Winter ist das korreckte Passwort
Gebe ich von Hand ein ccrypt -d Verschl-Datei.txt.cpt -K Winter
wird diese sofort entschlüsselt.

Im Skript steht:
#!/bin/bash
if [ $# -lt 1 ]
then
   echo "Benutzen:    ////    $0   ////    PW-Datei_zum_lesen   ////   $1 entschlüsselne CPT - Datei"  
   exit 1
fi
# Argument $1 soll zeilenweise eingelesen werden
while read variable
do
   echo ${variable}
/usr/bin/ccrypt -d $2  -K $variable
done < $1
sh -x pw-tab.sh pw.txt Verschl-Datei.txt.cpt liefert folgendes::
+ [ 2 -lt 1 ]
+ read variable
+ echo Sommer
Sommer
+ /usr/bin/ccrypt -d Verschl-Datei.txt.cpt -K Sommer
ccrypt: Verschl-Datei.txt.cpt: Kennwort passt nicht -- unverändert
+ read variable
+ echo Winter
Winter
+ /usr/bin/ccrypt -d Verschl-Datei.txt.cpt -K Winter
ccrypt: Verschl-Datei.txt.cpt: Kennwort passt nicht -- unverändert
+ read variable

Hat wer eine Idee was an dem Skript falsch ist???
3. Zeile von unten in der Konsole ausgeführt --> Datei entschlüsselt????
Shell-Skrip aus geführt --> Kennwort passt nicht -- unverändert
Ich benutze LXDE (Debian 9.3) bash 4.4.12

Gruß Frank
Kommentar vom Moderator tomolpi am 23.12.2020 um 14:20:46 Uhr
Codetags hinzugefügt, Beitrag formatiert

Content-ID: 634853

Url: https://administrator.de/contentid/634853

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

Lochkartenstanzer
Lochkartenstanzer 23.12.2020 um 13:46:00 Uhr
Goto Top
Moin,

FAQ: Formattierungen in den Beiträgen.

Hilft besser zu besser zu erfassen, was Du da schreibst und dir dann ggf. helfen zu können.

lks
frank-gue
frank-gue 23.12.2020 um 14:46:13 Uhr
Goto Top
Vielen Dank, sieht sehr gut aus -> sehe mir den Beitrag an
HanTrio
HanTrio 23.12.2020 um 15:45:32 Uhr
Goto Top
Steht in der pw.txt wirklich "Winter" und nicht etwa zB "Winter " (also mit einem Leerzeichen am Ende der Zeile)?
147069
147069 23.12.2020 aktualisiert um 15:48:19 Uhr
Goto Top
Hallo Frank,
hier gibt es einige mögliche Probleme, erstens sollte man im Skript selbst die Parameter-Variablen besser mit Anführungszeichen einschließen damit Sonderzeichen hier nicht von der Shell interpretiert werden. Das gilt sowohl für deine Pfade als auch das Passwort, welche du als Parameter übergibst. Dann ist es natürlich so das man in der Textdatei mit den Passwörtern leicht ein Leerzeichen hinter dem Passwort vergisst das aber dann auch mit übergeben wird und dann eben falsch ist.

Gruß bw.
frank-gue
frank-gue 23.12.2020 um 16:02:57 Uhr
Goto Top
Hallo bluewonder,

Danke aber hinter Sommer und Winter kommt kein Leerzeichen
Mit den Anführungszeichen stehe ich ein bisschen auf Kriegsfuß
Könntes Du bitte diese Zeile mal in die richtigen Anführungszeichen birngen. Ich probiere wahrscheinlich immer mit den "Falschen"
Ich denke dann kann ich das auf die anderen Zeilen anwenden... Danke


/usr/bin/ccrypt -d $2 -K $variable
147069
147069 23.12.2020 aktualisiert um 16:10:54 Uhr
Goto Top
/usr/bin/ccrypt -d "$2" -K "$variable"
Und natürlich auch um den ersten Parameter "$1"

Habe das ganze hier einwandfrei getestet, es muss also an deinen Ausgangsdateien liegen.
frank-gue
frank-gue 23.12.2020 um 16:15:42 Uhr
Goto Top
Hallo bluewonder,

Du hast recht sieht besser aus. Ich werde das so machen, wahrscheinlich heute nicht mehr und melde
mich dann


Frohes Fest
147069
147069 23.12.2020 aktualisiert um 16:17:40 Uhr
Goto Top
sieht besser aus.
Sieht nicht nur so aus es hat einen tieferen Sinn, kommt aber erst zum Tragen wenn mal krude Pfade oder Namen ins Spiel kommen face-wink.
frank-gue
frank-gue 23.12.2020 um 18:06:01 Uhr
Goto Top
Hallo,

noch mal zum Abschluss. Ich habe gesucht und gesucht?????
Dann habe ich

- die pw-Datei neu erstellt
- die Shell Skript Datei abgeschrieben (in eine neue Datei) und
- die orig. Verschlüsselte Datei benutzt


---> geht ohne Problem DANKE noch mal

Frohes Fest
147069
147069 23.12.2020 aktualisiert um 21:36:10 Uhr
Goto Top
Dann war es wohl vermutlich ein encoding issue.

Dann kann der Thread ja jetzt noch zu.

Ebenso frohes Fest.
bw.