aboutsummaryrefslogtreecommitdiff
path: root/passwd
diff options
context:
space:
mode:
Diffstat (limited to 'passwd')
-rwxr-xr-xpasswd30
1 files changed, 30 insertions, 0 deletions
diff --git a/passwd b/passwd
new file mode 100755
index 0000000..7cc80b6
--- /dev/null
+++ b/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