3
# Copyright (C) 2010 Edward "Koko" Konetzko <konetzed@quixoticagony.com>
6
# Redistribution and use in source and binary forms, with or without
7
# modification, are permitted provided that the following conditions are
10
# * Redistributions of source code must retain the above copyright
11
# notice, this list of conditions and the following disclaimer.
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
18
# * The names of its contributors may not be used to endorse or
19
# promote products derived from this software without specific prior
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.
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"
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."
56
echo "-b: $mysqlpasswordhashbin"
58
echo "-n: $numberofusers"
65
while [ $tmpcount -lt $numberofusers ]
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 ]
76
echo "objectclass: drizzleUser"
77
mysqlpasshash=`$mysqlpasswordhashbin $password`
78
echo "drizzleUserMysqlPassword: $mysqlpasshash"
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"
88
tmpcount=$(($tmpcount + 1))
103
mysqlpasswordhashbin=$2