diff options
Diffstat (limited to 'os/secretgen/passwd')
-rwxr-xr-x | os/secretgen/passwd | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/os/secretgen/passwd b/os/secretgen/passwd new file mode 100755 index 0000000..7cc80b6 --- /dev/null +++ b/os/secretgen/passwd @@ -0,0 +1,30 @@ +#!/usr/bin/env sh + +cd $(dirname $0) + +function usage { + echo "Usage: $0 <cluster name> <username>" + echo "The cluster name must be the name of a subdirectory of cluster/" + exit 1 +} + +CLUSTER="$1" +if [ -z "$CLUSTER" ] || [ ! -d "cluster/$CLUSTER" ]; then + usage +fi + +USERNAME="$2" +if [ -z "$USERNAME" ]; then + usage +fi + +PREFIX="deuxfleurs/cluster/$CLUSTER" + +if ! EXISTING_PASSWORDS=$(pass $PREFIX/passwords | egrep -v "^$USERNAME:"); then + EXISTING_PASSWORDS="" +fi + +echo "Enter new password for user $USERNAME:" +NEW_PASSWD=$(openssl passwd -6) + +(echo $EXISTING_PASSWORDS; echo $USERNAME:$NEW_PASSWD) | pass insert -m $PREFIX/passwords |