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:
sh -x pw-tab.sh pw.txt Verschl-Datei.txt.cpt liefert folgendes::
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
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
+ [ 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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
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
10 Kommentare
Neuester Kommentar
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
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
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.
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.
/usr/bin/ccrypt -d "$2" -K "$variable"
Habe das ganze hier einwandfrei getestet, es muss also an deinen Ausgangsdateien liegen.
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 .
Dann war es wohl vermutlich ein encoding issue.
Dann kann der Thread ja jetzt noch zu.
Ebenso frohes Fest.
bw.
Dann kann der Thread ja jetzt noch zu.
Ebenso frohes Fest.
bw.