31 lines
648 B
Bash
Executable file
31 lines
648 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
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"
|
|
|
|
EXISTING_PASSWORDS=$(mktemp)
|
|
pass $PREFIX/passwords | egrep -v "^$USERNAME:" > $EXISTING_PASSWORDS
|
|
|
|
echo "Enter new password for user $USERNAME:"
|
|
NEW_PASSWD=$(openssl passwd -6)
|
|
|
|
(cat $EXISTING_PASSWORDS; echo $USERNAME:$NEW_PASSWD) | pass insert -m $PREFIX/passwords
|
|
|
|
rm $EXISTING_PASSWORDS
|