diff options
author | Erich Eckner <git@eckner.net> | 2016-11-22 12:26:54 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2016-11-22 12:26:54 +0100 |
commit | 5e74b046f58239b6e1398f841f6cc777a5638541 (patch) | |
tree | 53ee9fa72f7048cc840822daeed5dbed1b1ac24a | |
parent | fce786355354e6539d17953f1f2bf1063b7e6e8f (diff) | |
download | passwort-tresor-5e74b046f58239b6e1398f841f6cc777a5638541.tar.xz |
option -z|--zufaellig neu
-rw-r--r-- | passwort-tresor.in | 44 |
1 files changed, 31 insertions, 13 deletions
diff --git a/passwort-tresor.in b/passwort-tresor.in index 926982e..b8e23b5 100644 --- a/passwort-tresor.in +++ b/passwort-tresor.in @@ -26,11 +26,12 @@ verwendung() >&2 echo '' >&2 echo 'Usage: '"$(basename "$0") [OPTIONS]" >&2 echo '' - >&2 echo ' -b,--blind=blindheit Schwere der Fehler, die ignoriert werden (0,1,2,3)' - >&2 echo ' -d,--datei=datei verschlüsselte Datei' - >&2 echo ' -g,--grep nach etwas greppen und in die Zwischenablage übernehmen; nicht zusammen mit -n verwendbar' - >&2 echo ' -n,--neu neues Passwort abspeichern; nicht zusammen mit -g verwendbar' - >&2 echo ' -s,--summe=datei Prüfsummendatei der verschlüsselten Datei' + >&2 echo ' -b,--blind=blindheit Schwere der Fehler, die ignoriert werden (0,1,2,3)' + >&2 echo ' -d,--datei=datei verschlüsselte Datei' + >&2 echo ' -g,--grep nach etwas greppen und in die Zwischenablage übernehmen; nicht zusammen mit -n verwendbar' + >&2 echo ' -n,--neu neues Passwort abspeichern; nicht zusammen mit -g verwendbar' + >&2 echo ' -s,--summe=datei Prüfsummendatei der verschlüsselten Datei' + >&2 echo ' -z,--zufaellig[=Laenge] neues Passwort der Länge Laenge (Standard = 8) zufällig generieren; impliziert -n' >&2 echo \ '#HELPTEXT# #' >&2 echo '' @@ -39,7 +40,7 @@ verwendung() } eval set -- "$( - getopt -o b:d:gns: \ + getopt -o b:d:gns:z:: \ --long blind: \ --long datei: \ --long grep \ @@ -47,6 +48,7 @@ eval set -- "$( --long neu \ --long summe: \ --long version \ + --long zufaellig:: \ -n "$(basename "$0")" \ -- "$@" \ || echo "verwendung" @@ -56,6 +58,7 @@ args=("$@") greppw=false neu=false blind=0 +pwLen=-1 [ -r "#ETCDIR#/passwort-tresor.konf" ] && \ . "#ETCDIR#/passwort-tresor.konf" @@ -87,6 +90,12 @@ do shift summe="$1" ;; + -z|--zufaellig) + shift + neu=true + [ -z "$1" ] && pwLen=8 || pwLen=$1 + [ ${pwLen} -lt 0 ] && verwendung + ;; --version) >&2 echo '#VERSION#' exit 0 @@ -142,14 +151,23 @@ 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}" ] + if [ ${pwLen} -lt 0 ] then - >&2 echo 'Die Passwörter unterscheiden sich!' - beenden 1 + 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 + else + pw1="$( + head -c ${pwLen} /dev/urandom | \ + base64 | \ + head -c ${pwLen} + )" fi fi |