diff options
Diffstat (limited to 'passwort-tresor.in')
-rw-r--r-- | passwort-tresor.in | 41 |
1 files changed, 36 insertions, 5 deletions
diff --git a/passwort-tresor.in b/passwort-tresor.in index cd04457..3ef06c8 100644 --- a/passwort-tresor.in +++ b/passwort-tresor.in @@ -24,7 +24,7 @@ verwendung() >&2 echo 'Skript zum verschlüsselten Speichern von Passwörtern und anderem' >&2 echo '' >&2 echo 'Verwendung:' - >&2 echo " $(basename "$0") [ -b | --blind $blindheit ] [ -g | --grep ] [ ( -d | --datei \$datei ) ( -s | --summe \$datei ) ]" + >&2 echo " $(basename "$0") [ -b | --blind $blindheit ] [ ( -g | --grep ) | ( -n | --neu ) ] [ ( -d | --datei \$datei ) ( -s | --summe \$datei ) ]" >&2 echo '' >&2 echo ' -b|--blind $blindheit:' >&2 echo ' Schwere der Fehler, die ignoriert werden (0,1,2,3)' @@ -32,6 +32,8 @@ verwendung() >&2 echo ' verschlüsselte Datei' >&2 echo ' -g|--grep:' >&2 echo ' nach etwas greppen und in die Zwischenablage übernehmen' + >&2 echo ' -n|--neu:' + >&2 echo ' neues Passwort abspeichern' >&2 echo ' -s|--summe $datei' >&2 echo ' Prüfsummendatei der verschlüsselten Datei' >&2 echo '' @@ -39,10 +41,11 @@ verwendung() } eval set -- "$( - getopt -o b:d:gs: \ + getopt -o b:d:gns: \ --long blind: \ --long datei: \ --long grep \ + --long neu \ --long summe: \ -n "$(basename "$0")" \ -- "$@" \ @@ -51,6 +54,7 @@ eval set -- "$( args=("$@") greppw=false +neu=false blind=0 . #ETCDIR#/passwort-tresor.konf @@ -71,6 +75,9 @@ do -g|--grep) greppw=true ;; + -n|--neu) + neu=true + ;; -s|--summe) [ -n "${summe}" ] && verwendung shift @@ -97,6 +104,8 @@ then verwendung fi +${greppw} && ${neu} && verwendung + if [ -n "${summe}" ] && [ -z "${datei}" ] then >&2 echo 'Keine Datei zur Prüfsumme angegeben!' @@ -121,6 +130,20 @@ then fi ${greppw} && read -p 'suche nach: ' suche +if ${neu} +then + read -p 'Dienst: ' dienst + read -p 'Benutzer: ' benutzer + read -sp 'Passwort: ' pw1 + echo '' + read -sp 'noch Mal: ' pw2 + echo '' + if [ ! "${pw1}" == "${pw2}" ] + then + >&2 echo 'Die Passwörter unterscheiden sich!' + beenden 1 + fi +fi tmpDir="$(mktemp -d)" @@ -168,9 +191,17 @@ then read suche echo '' | xclip -i else - sha512sum "${tmpDir}/output" > "${tmpDir}/alteSumme" - ${EDITOR:-nano} "${tmpDir}/output" || beenden $? - sha512sum -c "${tmpDir}/alteSumme" &> /dev/null && beenden 0 + if ${neu} + then + echo '' >> "${tmpDir}/output" + echo "${dienst}:" >> "${tmpDir}/output" + echo "${benutzer}" >> "${tmpDir}/output" + echo "${pw1}" >> "${tmpDir}/output" + else + sha512sum "${tmpDir}/output" > "${tmpDir}/alteSumme" + ${EDITOR:-nano} "${tmpDir}/output" || beenden $? + sha512sum -c "${tmpDir}/alteSumme" &> /dev/null && beenden 0 + fi gpg -o "${tmpDir}/neu" -r "0x${schluessel}" -e -s "${tmpDir}/output" \ 2> "${tmpDir}/fehlermeldungen" beiFehlerBeenden 3 |