60 lines
1.6 KiB
Bash
Executable File
60 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#
|
|
# This script adds 500 users in ldap, amd then enables them via the
|
|
# enabled_users group
|
|
#
|
|
|
|
add_user_file=/tmp/add_user.ldif
|
|
add_enabled_users_file=/tmp/enable_users.ldif
|
|
|
|
num_of_users=500
|
|
|
|
rm -rf ${add_user_file} ${add_enabled_users_file}
|
|
|
|
cat > ${add_enabled_users_file} << EOF
|
|
dn: cn=enabled_users,ou=groups,dc=test,dc=com
|
|
changetype: modify
|
|
add: member
|
|
EOF
|
|
|
|
for i in `seq 1 ${num_of_users}`
|
|
do
|
|
|
|
username=user${i}
|
|
uidnumber=$(( $i + 1002 ))
|
|
user="Test User ${i}"
|
|
|
|
cat >> ${add_user_file} << EOF
|
|
dn: cn=${username},ou=users,dc=test,dc=com
|
|
cn: ${username}
|
|
gidnumber: 500
|
|
givenname: ${user}
|
|
homedirectory: /home/users/${username}
|
|
objectclass: inetOrgPerson
|
|
objectclass: posixAccount
|
|
objectclass: top
|
|
sn: ${user}
|
|
uid: ${username}
|
|
uidnumber: ${uidnumber}
|
|
userpassword: {MD5}HOMR4pM15t3gYd8WUxMG8g==
|
|
|
|
EOF
|
|
|
|
cat >> ${add_enabled_users_file} << EOF
|
|
member: cn=${username},ou=users,dc=test,dc=com
|
|
EOF
|
|
|
|
done
|
|
ldap_units=$(juju status --format json | jq -rc ".applications | to_entries[] | select(.value[\"charm-name\"] == \"ldap-test-fixture\") | .key")
|
|
# Add the ldap hostname into
|
|
#ldap_unit=$(juju status ldap-test-fixture --format=json 2>/dev/null | jq '.["applications"][]["units"] | keys[0]' | sed s/\"//g)
|
|
|
|
for ldap_unit in ${ldap_units}
|
|
do
|
|
# Configure slapd to give us some diags in syslog
|
|
juju scp ${add_user_file} ${add_to_group_file} ${add_enabled_users_file} ${ldap_unit}/0:/tmp/
|
|
juju ssh ${ldap_unit}/0 "sudo ldapadd -x -D \"cn=admin,dc=test,dc=com\" -w crapper -H ldap:// -f ${add_user_file}"
|
|
juju ssh ${ldap_unit}/0 "sudo ldapmodify -x -D \"cn=admin,dc=test,dc=com\" -w crapper -H ldap:// -f ${add_enabled_users_file}"
|
|
done
|