From ff92354a6045e6aff584aae743e04aa41e31fbf3 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Tue, 25 May 2010 13:44:17 +1200 Subject: [PATCH] Add koha-reset-passwd, a script for resetting a user's password. Signed-off-by: Galen Charlton --- debian/scripts/koha-reset-passwd | 57 ++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100755 debian/scripts/koha-reset-passwd diff --git a/debian/scripts/koha-reset-passwd b/debian/scripts/koha-reset-passwd new file mode 100755 index 0000000000..c9f3752425 --- /dev/null +++ b/debian/scripts/koha-reset-passwd @@ -0,0 +1,57 @@ +#!/bin/sh +# +# koha-reset-passwd -- reset password for a user in a Koha instance +# Copyright 2010 Catalyst IT, Ltd +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +set -e + + +die() { + echo "$@" 1>&2 + exit 1 +} + + +pwdigest() { + echo -n "$1" | + perl -e 'use Digest::MD5 qw(md5_base64); + while (<>) { print md5_base64($_), "\n"; }' +} + + +[ $# -lt 2 ] && die "Usage: $0 instancename username..." +instance="$1" +shift + +temp="$(mktemp)" + +cat < "$temp" +use koha_$instance; +eof + +for userid in "$@" +do + password="$(pwgen -1)" + digest="$(pwdigest $password)" + echo "$userid $password" + echo "UPDATE borrowers SET password = '$digest' WHERE userid = '$userid';" \ + >> "$temp" +done + +mysql --defaults-extra-file=/etc/mysql/debian.cnf < "$temp" + +rm "$temp" -- 2.39.2