diff options
author | Jonas Smedegaard <dr@jones.dk> | 2018-10-14 16:40:15 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2018-10-14 16:40:26 +0200 |
commit | f8ff219c9104d327534dbecfd04a05e0e1e1c8e0 (patch) | |
tree | 353b01c835d193febcbc9550bfd3420a342fadb1 | |
parent | 3e84a76eac19ee01c4ffb8722e1263bea2ecd7fe (diff) |
Add and favor xkcdpass passphrase.
-rwxr-xr-x | localresetpasswd | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/localresetpasswd b/localresetpasswd index a7733f1..924a925 100755 --- a/localresetpasswd +++ b/localresetpasswd @@ -5,7 +5,7 @@ # # $Id: localresetpasswd,v 1.1 2006-08-31 22:51:03 jonas Exp $ # -# Generate random password and apply to account through sudo +# Generate random passphrase and apply to account through sudo # # TODO: Check for bad arguments # TODO: Use getopts to offer help @@ -15,6 +15,7 @@ set -eu # these are overridable as environment variables +PHRASE_LENGTH=${PHRASE_LENGTH:-4} WORD_LENGTH=${WORD_LENGTH:-11} VERBOSE=${VERBOSE:-yes} SIMULATE=${SIMULATE:-} @@ -27,6 +28,7 @@ vecho() { } randompass() { + xkcdpass -n "$PHRASE_LENGTH" 2>&- || gpw 1 "$WORD_LENGTH" 2>&- || pwgen "$WORD_LENGTH" 1 2>&- || tr -d '\000-\057\072-\100\133-\140\173-\377' < /dev/urandom | @@ -36,17 +38,17 @@ randompass() { u=$1 shift -vecho -n "Generating random password..." +vecho -n "Generating random passphrase..." pass=$(randompass) vecho " Done!" sudo=sudo [ "$(id -u)" -ne 0 ] || sudo= -vecho -n "Applying new password to account $u..." +vecho -n "Applying new passphrase to account $u..." echo "$u:$pass" | $simulate $sudo "/usr/sbin/chpasswd" vecho " Done!" $simulate localresetpasswdexpiry "$u" -vecho "New password is $pass" +vecho "New passphrase is $pass" |