1 | #!/bin/bash
|
---|
2 |
|
---|
3 | ITERATIONS=100
|
---|
4 |
|
---|
5 | source `dirname $0`/utils.sh
|
---|
6 |
|
---|
7 | PRINCIPAL=$(get_principal $1)
|
---|
8 | PASSWORD=$(get_password $1)
|
---|
9 | REALM=$(get_realm $1)
|
---|
10 | NT_DOM=$(get_nt_dom $1)
|
---|
11 | SERVER=$2
|
---|
12 |
|
---|
13 | search_users () {
|
---|
14 | ${NET} ads search '(objectCategory=user)' sAMAccountName -k -s $CONFIG_FILE -S ${SERVER} > /dev/null
|
---|
15 | RET=$?
|
---|
16 | if [ $RET -ne 0 ]; then
|
---|
17 | echo "${NET} returned error: $RET"
|
---|
18 | exit 1
|
---|
19 | fi
|
---|
20 | }
|
---|
21 |
|
---|
22 | search_groups () {
|
---|
23 | ${NET} ads search '(objectCategory=group)' sAMAccountName -k -s $CONFIG_FILE -S ${SERVER} > /dev/null
|
---|
24 | if [ $RET -ne 0 ]; then
|
---|
25 | echo "${NET} returned error: $RET"
|
---|
26 | exit 1
|
---|
27 | fi
|
---|
28 | }
|
---|
29 |
|
---|
30 | search_computers () {
|
---|
31 | ${NET} ads search '(objectCategory=computer)' sAMAccountName -k -s $CONFIG_FILE -S ${SERVER} > /dev/null
|
---|
32 | if [ $RET -ne 0 ]; then
|
---|
33 | echo "${NET} returned error: $RET"
|
---|
34 | exit 1
|
---|
35 | fi
|
---|
36 | }
|
---|
37 |
|
---|
38 | search_wildcard () {
|
---|
39 | ${NET} ads search '(objectCategory=*)' sAMAccountName -k -s $CONFIG_FILE -S ${SERVER} > /dev/null
|
---|
40 | if [ $RET -ne 0 ]; then
|
---|
41 | echo "${NET} returned error: $RET"
|
---|
42 | exit 1
|
---|
43 | fi
|
---|
44 | }
|
---|
45 |
|
---|
46 | search_unindexed () {
|
---|
47 | ${NET} ads search '(description=Built-in account for adminstering the computer/domain)' sAMAccountName -k -s $CONFIG_FILE -S ${SERVER} > /dev/null
|
---|
48 | if [ $RET -ne 0 ]; then
|
---|
49 | echo "${NET} returned error: $RET"
|
---|
50 | exit 1
|
---|
51 | fi
|
---|
52 | }
|
---|
53 |
|
---|
54 | set_up () {
|
---|
55 | set_krb_env
|
---|
56 | setup_kinit
|
---|
57 | call_kinit "${PRINCIPAL}" "${PASSWORD}"
|
---|
58 | write_configfile "${REALM}" "${NT_DOM}"
|
---|
59 | }
|
---|
60 |
|
---|
61 | tear_down () {
|
---|
62 | ${KDESTROY}
|
---|
63 | restore_krb_env
|
---|
64 | }
|
---|
65 |
|
---|
66 | set_up
|
---|
67 |
|
---|
68 | echo -e "\tSEARCH INDEXED $2"
|
---|
69 |
|
---|
70 | START_TIME=$(start_timer)
|
---|
71 |
|
---|
72 | echo -en "\t"
|
---|
73 | for i in $( ${SEQ} 1 $ITERATIONS ); do
|
---|
74 | search_users
|
---|
75 | search_groups
|
---|
76 | search_computers
|
---|
77 | echo -n "."
|
---|
78 | done
|
---|
79 | echo "done"
|
---|
80 |
|
---|
81 | STOP_TIME=$(stop_timer)
|
---|
82 |
|
---|
83 | TOTAL_TIME=$( total_time $START_TIME $STOP_TIME )
|
---|
84 |
|
---|
85 | echo -e "\t\ttotal time:\t\t${TOTAL_TIME}s"
|
---|
86 |
|
---|
87 | LOGINS_PER_MINUTE=$(iterations_per_minute $START_TIME $STOP_TIME $ITERATIONS)
|
---|
88 |
|
---|
89 | echo -e "\t\titerations/min:\t\t$LOGINS_PER_MINUTE"
|
---|
90 |
|
---|
91 | ########################
|
---|
92 |
|
---|
93 | echo -e "\tSEARCH WILDCARD $2"
|
---|
94 |
|
---|
95 | START_TIME=$(start_timer)
|
---|
96 |
|
---|
97 | echo -en "\t"
|
---|
98 | for i in $( ${SEQ} 1 $ITERATIONS ); do
|
---|
99 | search_wildcard
|
---|
100 | echo -n "."
|
---|
101 | done
|
---|
102 | echo "done"
|
---|
103 |
|
---|
104 | STOP_TIME=$(stop_timer)
|
---|
105 |
|
---|
106 | TOTAL_TIME=$( total_time $START_TIME $STOP_TIME )
|
---|
107 |
|
---|
108 | echo -e "\t\ttotal time:\t\t${TOTAL_TIME}s"
|
---|
109 |
|
---|
110 | LOGINS_PER_MINUTE=$(iterations_per_minute $START_TIME $STOP_TIME $ITERATIONS)
|
---|
111 |
|
---|
112 | echo -e "\t\titerations/min:\t\t$LOGINS_PER_MINUTE"
|
---|
113 |
|
---|
114 | ########################
|
---|
115 |
|
---|
116 | echo -e "\tSEARCH UNINDEXED $2"
|
---|
117 |
|
---|
118 | START_TIME=$(start_timer)
|
---|
119 |
|
---|
120 | echo -en "\t"
|
---|
121 | for i in $( ${SEQ} 1 $ITERATIONS ); do
|
---|
122 | search_unindexed
|
---|
123 | echo -n "."
|
---|
124 | done
|
---|
125 | echo "done"
|
---|
126 |
|
---|
127 | STOP_TIME=$(stop_timer)
|
---|
128 |
|
---|
129 | TOTAL_TIME=$( total_time $START_TIME $STOP_TIME )
|
---|
130 |
|
---|
131 | echo -e "\t\ttotal time:\t\t${TOTAL_TIME}s"
|
---|
132 |
|
---|
133 | LOGINS_PER_MINUTE=$(iterations_per_minute $START_TIME $STOP_TIME $ITERATIONS)
|
---|
134 |
|
---|
135 | echo -e "\t\titerations/min:\t\t$LOGINS_PER_MINUTE"
|
---|
136 |
|
---|
137 | tear_down
|
---|