hallo,
wie kann man ein verschlüsseltes zip archiv erstellen per script ?
mein problem ist das zip 2x ein passwort fordert.
Linux 15.036 Themen, 107.107 Beiträge
Ich würde es mal mit einer Pipe probieren:
tar -Optionen Datei(en) | gzip -Optionen Datei.targz
Dabei wird die Ausgabe (stdout) von tar zur Eingabe (stdin) von deinem zip Programm (gzip vielleicht).
Oder welches zip-Programm meinst du ?
Muss das Archiv unbedingt verschlüsselt werden ? Das kann gzip nicht.
Ich habe meinen Irrtum erkannt! Das Programm zip kann Archive verschlüsseln. Ich habe zip noch nie benutzt. Kommandozeilenparamter kann man einem Shellscript mit übergeben. Bei der BASH entspricht der Parameter $0 dem Shellscriptnamen (incl. dem Pfad), $1 ist der erste Parameter, $2 ist der zweite Parameter ...
Du brauchst also bloß anstelle des richtigen Passwortes $1 im Shellscriptes angeben und beim Start des Shellscriptes das Passwort mit angeben.
Wenn du über prüfen willst ob ein Parameter mit angegeben wurde, dann kannst du die Variable $# im Shellscript abfragen. $# enthält die Anzahl Kommandozeilenparameter:
Beispiel:
if [ $# != 2 ] ; then
echo
echo "Usage: $0 Passwort !"
echo "$0 braucht ein Passwort als Parameter !"
exit 1
fi
hallo ,
da steh ich jetzt ein wenig auf dem schlauch.
wie würde denn so ein script z.b. aussehn ?
der zip befehl ist klar:
zip -e -0 datei.tar.gz verschlüsseltedatei.zip
aber wie bekomme ich das passwort unter ?
Habe im Moment keinen Linux-Rechner mit zip hier, aber wenn zip die Passworteingabe über einen optionalen Übergabeparameter nicht bereitstellt, dann geht es mit einem Script definitiv nicht !
Rar unter Linux bietet, glaube ich, diese Option an und kann auch zip Formate erstellen !
-P password
Diese Option stand in der Manpage zu zip (man zip). Ich selbst benutze zip nicht. Also müßte die Befehlszeile so aussehen:
zip -e -P $1 -0 datei.tar.gz verschlüsseltedatei.zip.
Die BASH ersetzt dann, wenn das Shellscript läuft, $1 durch das eigentliche Passwort welches der benutzer beim Start des Shellscriptes mit angegeben hat (1. Parameter ist das Passwort, "shellscript Passwort").
Am besten noch überprüfen ob auch wirklich ein Parameter mit übergeben worden ist. Jedes Programm muß die Eingaben des Benutzers prüfen, um nachfolgende Programmfehler zu vermeiden !
morgen,
habe jetzt mal auf der konsole getestet mit -P passwort.
ich bekomme, egal ob script oder konsole, 2x die aufforderung, ein passwort einzugeben.
ich bin jetzt auf rar umgestiegen, damit funktionierts einwandfrei.
vielen dank für die hilfen !
Das eine ist die Option -P die ein Archiv passwortschützt. (P wie password)
Das andere ich die Option -e die ein Archiv verschlüsselt. (e wie encryption)
-P wird vom Passwort gefolgt und muss kein zweites mal eingebenen werden.
-e hat keine weiteren Parameter und fordert an einem Prompt auf das Passwort einzugeben, diese Eingabe wird dann in einem zweiten Prompt nochmal verlangt.
ahja
das hatte ich dann in der tat falsch verstanden.
jetzt klappt es auch mit zip - wenn auch nicht verschlüsselt.
danke für die info!