Gibt es eine Möglichkeit, ein Verzeichnis mit zu verschlüsseln gpg
? Es scheint nur Dateien als Argumente zu akzeptieren.
Gibt es eine Möglichkeit, ein Verzeichnis mit zu verschlüsseln gpg
? Es scheint nur Dateien als Argumente zu akzeptieren.
Antworten:
Warum nicht tar
die zu verschlüsselnden Dateien und dann den Tarball verschlüsseln?
Ich habe gerade die Option --multifile
auf der Manpage gesehen:
Dadurch werden bestimmte andere Befehle so geändert, dass mehrere Dateien zur Verarbeitung in der Befehlszeile akzeptiert oder aus STDIN mit jedem Dateinamen in einer separaten Zeile gelesen werden. Dadurch können viele Dateien gleichzeitig verarbeitet werden. --multi‐ file kann derzeit zusammen mit --verify, --encrypt und --decrypt verwendet werden. Beachten Sie, dass --multifile --verify nicht mit getrennten Signaturen verwendet werden darf.
Was Sie speziell suchen, ist --encrypt-files
und wieder die Manpage:
Identisch mit --multifile --encrypt.
Hey, ich habe die Kommentare zu der Antwort gelesen, die als ausgenommen markiert wurde. Sieht aus wie Sie sollten sich bewusst von der Magie gemacht werden |
(anonyme Rohre) überprüfen die ich gerade auf gepostet Antwort Super - User finden und Sie werden feststellen , dass tar
& gpg
können verbunden zusammen , so dass die Ausgabe vor ausgegeben wird komprimiert und verschlüsselt. Beachten Sie, dass weiterhin erhebliche Systemressourcen verwendet werden. Überprüfen Sie daher die man
Seiten auf nice
Befehle, um die Fähigkeit eines Befehls einzuschränken, nur einen bestimmten Prozentsatz der Ressourcen zu verbrauchen. Auch wenn ich in der Stimmung bin, Themen vorzuschlagen, die Ihnen das Leben auf der Kommandozeile im Allgemeinen erleichtern könnten; Schauen Sie sich Dateideskriptoren und Named Pipes an, um Daten weiterzugeben.
Wenn Sie sehen möchten, welche Art von Magie ausgeführt werden kann, wenn die oben genannten Themen verstanden werden, überprüfen Sie die Travis-CI- Erstellungsprotokolle und zugehörigen Skripte auf Lösungen zur Automatisierung von GnuPG in der Befehlszeile.
---- Aktualisierung
Wie angefordert, finden Sie ein Beispiel für den Umgang mit Verzeichnissen in dem zuvor erwähnten Skript in Zeile 680, und ein allgemeineres Beispiel wäre ...
#!/usr/bin/env bash
dir_path="${1:?${0##*/} needs a directory path as the first argument}"
default_gpg_email="your-email@host.domain"
gpg_email="${2:-$default_gpg_email}"
_dir_name="${dir_path##*/}"
_dir_name="${_dir_name%/*}"
Var_star_date="$(date -u +%s)"
if [ -d "${dir_path}" ]; then
tar -cz - "${dir_path}" | gpg --always-trust --armor --batch --no-tty --encrypt --recipient ${gpg_email} > /tmp/${Var_star_date}_${_dir_name}.tgz.gpg"
else
echo "${0##*/} operates on directories"
exit 1
fi
... die vielleicht mit script-name.sh /path/to/dir
oder laufen script-name.sh /path/to/dir new-email@host.domain
und eine Datei in das Verzeichnis ausgeben sollen/tmp
<current-date>_<top-dir-name>.tgz.gpg