staging.inyokaproject.org

[BASH o. PYTHON] - Installationsscript

Status: Ungelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

halloICKEbins

Avatar von halloICKEbins

Anmeldungsdatum:
12. September 2017

Beiträge: 226

Mahlzeit,

ich schreibe im Moment ein Installationsscript und würde gerne mit einem Startscript einen Nutzer anlegen, einen SSH-Key generieren und eine MySQl-Server installieren.

Die einzelne Umsetzung der Befehle mittels Bash und Script ist kein Problem ...Ich würde die einzelnen Scriptdateien aber gerne "verschleichern" ... ich habe mir gedacht entweder mit tar und gpg oder als verschlüsselter Payload mittels encode/decode base64.

Folgende Probleme habe ich dabei:

Ich wurde gerne bei tar/gpg nicht das Verzeichnis entpacken sondern direkt aus dem Arbeitsspeicher lesen können, also (gpg file | tar | more script.sh) !!!

Gibt es hier von meiner Seite Logikfehler oder andere Verfahrensweisen die sinnvoller sind?

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

halloICKEbins schrieb:

Die einzelne Umsetzung der Befehle mittels Bash und Script ist kein Problem ...Ich würde die einzelnen Scriptdateien aber gerne "verschleichern" ...

Meinst Du "verschleiern"?

ich habe mir gedacht entweder mit tar und gpg oder als verschlüsselter Payload mittels encode/decode base64.

Das ist keine Verschlüsselung.

Ich wurde gerne bei tar/gpg nicht das Verzeichnis entpacken sondern direkt aus dem Arbeitsspeicher lesen können, also (gpg file | tar | more script.sh) !!!

Es ist nicht ganz klar, was Du hier erreichen willst. Soll der tar einpacken oder auspacken? Und warum willst Du das in das Skript senden?

Gibt es hier von meiner Seite Logikfehler oder andere Verfahrensweisen die sinnvoller sind?

Vermutlich. Einfach wäre z.B. dies:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
$ cat script-1
#!/bin/sh

echo Skript 1

$ { echo -e '#!/bin/sh\nbase64 -d <<SCRIPT | sh\n'; base64 script-1; echo SCRIPT; } >script-2
$ chmod a+x script-2
mode of 'script-2' changed from 0664 (rw-rw-r--) to 0775 (rwxrwxr-x)
$ ./script-2 
Skript 1
$ cat script-2
#!/bin/sh
base64 -d <<SCRIPT | sh

IyEvYmluL3NoCgplY2hvIFNrcmlwdCAxCgo=
SCRIPT

halloICKEbins

(Themenstarter)
Avatar von halloICKEbins

Anmeldungsdatum:
12. September 2017

Beiträge: 226

Ich hatte gedacht, dass gpg das macht: (erst tar und mit gpg rüber)

"gpg — encryption and signing tool" - https://www.tutorialspoint.com/unix_commands/gpg.htm

Danke für den Denkanstoß mit dem Script: Habe jetzt die folgende Lösung:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/bin/sh

plaintext='Auf dem Schlauch stehen!'

plaintext_e=$(echo -n "$plaintext" | openssl enc -aes-256-cbc -k 12345)
plaintext_d=$(echo "$plaintext_e" | openssl enc -d -aes-256-cbc -k 12345)

echo "Klartext: $plaintext"
echo "Verschlüsselt: $plaintext_e"
echo "Entschlüsselt: $plaintext_d"

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

Mir ist immer noch nicht klar, was das Ziel ist.

halloICKEbins

(Themenstarter)
Avatar von halloICKEbins

Anmeldungsdatum:
12. September 2017

Beiträge: 226

Ziel war/ist es es Dateien aus einem gepackten passwortgeschützten tar direkt zu lesen, ohne es auf die Festplatte schreiben zu müssen. Muss kein tar sein, irgend eine Art von Container würde reichen!

Mokkujin

Anmeldungsdatum:
2. Mai 2008

Beiträge: 389

Nur mal so am Rande gefragt warum machst du das nicht mir ansible ? da kannst du dir dein ganzes gpg sparen und in ein vault reinschreiben.

halloICKEbins

(Themenstarter)
Avatar von halloICKEbins

Anmeldungsdatum:
12. September 2017

Beiträge: 226

Das geht auch...hatte mich bloß auch mal mit dieser Möglichkeit beschäftigen wollen

Antworten |