~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/auth_ldap/schema/gentestusers.sh

  • Committer: Monty Taylor
  • Date: 2010-04-22 02:46:23 UTC
  • mto: (1497.3.4 enable-dtrace)
  • mto: This revision was merged to the branch mainline in revision 1527.
  • Revision ID: mordred@inaugust.com-20100422024623-4urw8fi8eraci08p
Don't overwrite the pandora_vc_revinfo file if we don't have new
authoratative information.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/bin/bash
2
 
#
3
 
# Copyright (C) 2010 Edward "Koko" Konetzko <konetzed@quixoticagony.com>
4
 
# All rights reserved.
5
 
#
6
 
# Redistribution and use in source and binary forms, with or without
7
 
# modification, are permitted provided that the following conditions are
8
 
# met:
9
 
#
10
 
#     * Redistributions of source code must retain the above copyright
11
 
# notice, this list of conditions and the following disclaimer.
12
 
#
13
 
#     * Redistributions in binary form must reproduce the above
14
 
# copyright notice, this list of conditions and the following disclaimer
15
 
# in the documentation and/or other materials provided with the
16
 
# distribution.
17
 
#
18
 
#     * The names of its contributors may not be used to endorse or
19
 
# promote products derived from this software without specific prior
20
 
# written permission.
21
 
#
22
 
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
 
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
 
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25
 
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26
 
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27
 
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28
 
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29
 
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30
 
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31
 
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32
 
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
 
 
34
 
help() {
35
 
    echo "Arguement options are:"
36
 
    echo "-p: password to use for password"
37
 
    echo "-b: path to mysql_password_hash"
38
 
    echo "-u: username to generate users from"
39
 
    echo "-n: number of users to generate"
40
 
    echo "-l: base ldap dn to use for user generation"
41
 
    echo "-d: debug"
42
 
    echo 
43
 
    echo "$0 is a script used to generate users to test"
44
 
    echo " drizzles mysql auth integration with ldap."
45
 
    echo " if \"-b\" is set users will be generated with attribute"
46
 
    echo " drizzleUserMysqlPassword"
47
 
    echo " Script dumps all information to stdout so end user can decide"
48
 
    echo " what they want to do with output."
49
 
    echo 
50
 
}
51
 
 
52
 
genldif() {
53
 
    if [ $debug ] 
54
 
    then 
55
 
        echo "-p: $password"
56
 
        echo "-b: $mysqlpasswordhashbin"
57
 
        echo "-u: $username"
58
 
        echo "-n: $numberofusers"
59
 
        echo "-l: $ldapbase"
60
 
        echo "-d: $debug" 
61
 
        echo 
62
 
    fi
63
 
 
64
 
    tmpcount=0
65
 
    while [ $tmpcount -lt $numberofusers ]
66
 
    do
67
 
        tmpusername=$username$tmpcount
68
 
        tmpuidnumber=$(( 500 + $tmpcount ))
69
 
        tmpgidnumber=$(( 500 + $tmpcount ))
70
 
        echo "dn: uid=$tmpusername,$ldapbase"
71
 
        echo "objectclass: top"
72
 
        echo "objectclass: posixAccount"
73
 
        echo "objectclass: account"
74
 
        if [ $mysqlpasswordhashbin ]
75
 
        then
76
 
            echo "objectclass: drizzleUser"
77
 
            mysqlpasshash=`$mysqlpasswordhashbin $password`
78
 
            echo "drizzleUserMysqlPassword: $mysqlpasshash"
79
 
        fi
80
 
        echo "uidNumber: $tmpuidnumber"
81
 
        echo "gidNumber: $tmpgidnumber"
82
 
        echo "uid: $tmpusername"
83
 
        echo "homeDirectory: /home/$tmpusername"
84
 
        echo "loginshell: /sbin/nologin"
85
 
        echo "userPassword: $password"
86
 
        echo "cn: $tmpusername"
87
 
        echo
88
 
        tmpcount=$(($tmpcount + 1))
89
 
 
90
 
    done
91
 
}
92
 
 
93
 
while [ $# -gt 0 ]
94
 
do
95
 
    case $1
96
 
    in
97
 
        -p)
98
 
            password=$2
99
 
            shift 2
100
 
        ;;
101
 
        
102
 
        -b)
103
 
            mysqlpasswordhashbin=$2
104
 
            shift 2
105
 
        ;;
106
 
        
107
 
        -u)
108
 
            username=$2
109
 
            shift 2
110
 
        ;;
111
 
        
112
 
        -n)
113
 
            numberofusers=$2
114
 
            shift 2
115
 
        ;;
116
 
        -l)
117
 
            ldapbase=$2
118
 
            shift 2
119
 
        ;;
120
 
        -d)
121
 
            debug=1
122
 
            shift 1
123
 
        ;;
124
 
 
125
 
        *)
126
 
            help
127
 
            shift 1
128
 
            exit
129
 
        ;;
130
 
    esac
131
 
done
132
 
 
133
 
genldif