ubuntuusers.de

Shellscript zur gpg-key-Installation. Ist das OK so?

Status: Gelöst | Ubuntu-Version: Kubuntu 6.10 (Edgy Eft)
Antworten |

abx

Anmeldungsdatum:
21. November 2006

Beiträge: 137

Ich habe vor ein paar Tagen mit einem Shelltutorial angefangen. (http://www.cyberciti.biz/nixcraft/linux/docs/uniqlinuxfeatures/lsst/
Jetzt habe ich einige Quellen meiner sources.list hinzugefügt. Allerdings fehlen noch die Schlüssel. Deswegen hab ich einfach mal versucht
ein script dafür zu schreiben.
Ich bin von diesem "Grundgerüst" ausgegangen:

gpg --keyserver subkeys.pgp.net --recv KEYNAME
gpg --export --armor KEYNAME | sudo apt-key add -


Mein script soll bis zu 9 keys mit einem Befehl so installieren. Das sudo soll nur einmal beim Aufrufen benutzt werden.
Weil ich noch ein absoluter Anfänger bin, wärs nett wenn ihr mal guckt ob das so in Ordnung ist und ob ich versuchen kann damit die keys zu installieren.

http://www.ubuntuusers.de/paste/9253/

Vielen Dank schonmal

Ihr könnt auch gerne Komentare über die Ordnung oder den "Stil" machen...

comm_a_nder

Avatar von comm_a_nder

Anmeldungsdatum:
5. Februar 2006

Beiträge: 2533

Wohnort: Dresden

  • Schleifen existieren (man bash)

  • shift existiert (man bash)

  • test -z existiert (man test)

dann gehen auch mehr als 9 Keys

ohne getestet zu haben:

#!/bin/bash
if [ "$(id -u)" -ne 0 ]
then
        echo "Must be root"
        exit 1
fi

until [ -z "$1" ]
do
        gpg --keyserver subkeys.pgp.net --recv $1
        gpg --export --armor $1 | apt-key add -
        shift
done

abx

(Themenstarter)

Anmeldungsdatum:
21. November 2006

Beiträge: 137

Also... Ich hab mal ein bischen getestet. Mein script funktioniert nicht, weil das mit der Bedingung nicht richtig ist.
Deins funktioniert da ohne Probleme. Allerdings funktioniert das script nicht, weil es dann komplett als root ausgeführt wird.
Deswegen kommen Fehlermeldungen wegen falschen Dateibesitzern. Also hab ich einfach wieder ein sudo reingeschrieben:

#!/bin/bash
until [ -z "$1" ]
do
        gpg --keyserver subkeys.pgp.net --recv $1
        gpg --export --armor $1 | sudo apt-key add -
        shift
done
exit 0

edit: Und so funktioniert das! Man muss einfach "./script.sh key1 [key2] [key3] ....." eingeben.

Antworten |