summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--passwort-tresor.in41
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