View | Details | Raw Unified | Return to bug 17746
Collapse All | Expand All

(-)a/debian/scripts/koha-reset-passwd (-20 / +44 lines)
Lines 2-7 Link Here
2
#
2
#
3
# koha-reset-passwd -- reset password for a user in a Koha instance
3
# koha-reset-passwd -- reset password for a user in a Koha instance
4
# Copyright 2010  Catalyst IT, Ltd
4
# Copyright 2010  Catalyst IT, Ltd
5
# Copyright 2019  Theke Solutions
5
# 
6
# 
6
# This program is free software: you can redistribute it and/or modify
7
# This program is free software: you can redistribute it and/or modify
7
# it under the terms of the GNU General Public License as published by
8
# it under the terms of the GNU General Public License as published by
Lines 27-58 else Link Here
27
    exit 1
28
    exit 1
28
fi
29
fi
29
30
30
pwdigest() {
31
usage()
31
    echo -n "$1" |
32
{
32
    perl -e 'use Digest::MD5 qw(md5_base64);
33
    local scriptname=$0
33
             while (<>) { print md5_base64($_), "\n"; }'
34
    cat <<EOF
35
Resets the password for the specified user on the Koha instance.
36
37
Usage: $scriptname instancename userid
38
39
Note: The generated password will be printed.
40
EOF
34
}
41
}
35
42
43
set_password()
44
{
45
    local instancename=$1
46
    local userid=$2
47
    local password=$(pwgen 12 1)
36
48
37
[ $# -lt 2 ] && die "Usage: $0 instancename username..."
49
    # Optionally use alternative paths for a dev install
38
instance="$1"
50
    adjust_paths_dev_install $1
39
shift
51
52
    if [ "$DEV_INSTALL" = "" ]; then
53
        KOHA_BINDIR=$KOHA_HOME/bin
54
    else
55
        KOHA_BINDIR=$KOHA_HOME/misc
56
    fi
57
58
    if sudo -u "$instancename-koha" -H \
59
        env PERL5LIB=$PERL5LIB \
60
        KOHA_CONF="/etc/koha/sites/$instancename/koha-conf.xml" \
61
        $KOHA_BINDIR/admin/set_password.pl --userid $userid --password $password ; then
40
62
41
temp="$(mktemp)"
63
        echo "$userid $password"
64
        return 0
65
    else
66
        return 1
67
    fi
68
}
69
70
if [ $# -lt 2 ]; then
71
    usage
72
    die "Wrong parameters"
73
fi
42
74
43
cat <<eof > "$temp"
75
instance="$1"
44
use koha_$instance;
76
shift
45
eof
46
77
47
for userid in "$@"
78
for userid in "$@"
48
do
79
do
49
    password="$(pwgen 12 1)"
80
    set_password $instance $userid
50
    digest="$(pwdigest $password)"
51
    echo "$userid $password"
52
    echo "UPDATE borrowers SET password = '$digest' WHERE userid = '$userid';" \
53
        >> "$temp"
54
done
81
done
55
82
56
mysql --defaults-extra-file=/etc/mysql/koha-common.cnf < "$temp"
83
exit 0
57
58
rm "$temp"
59
- 

Return to bug 17746