nixcfg/passwd

32 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