bonjour,
afin de tester les performances de mon serveur ldap, j'ai trouvé sur internet un bindstress que voici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/perl
# bindstress.pl - free software by Matt Richard
# edit the variables below to reflect your LDAP server
 
my $server = "ldapserver";
my $uid_base = "cn=users,dc=example,dc=org";
my $bind_pass = "abc123";
my $filter = "(!(|(uid=admin)(uid=root)(uid=*admin)(uid=vpn*)))";
 
my $success = 0;
my $failure = 0;
 
# initialize random number generator
srand;
 
 
# search for users in the database
my @search = `ldapsearch -x -LLL -A -b "$uid_base" -s one -h "$server" "$filter" dn | grep "dn"`;
 
# convert search results into a list of users
for $searchline (@search)
{
   	($junk, $junk, $dn, $junk) = split(/[=,\ ]/,$searchline);
   	push (@users, $dn);
}
 
# keep attempting to bind forever
while (1)
{
    #pick a random user
    my $dn = @users [ rand  @users ];
 
    # get the current time
    chomp ($date = substr(`date \"+%H:%M:%S\"`,0,-1));
 
    # perform the ldap bind
    $result = `ldapwhoami -x -h $server -D \"uid=$dn,$uid_base\" -w \"$bind_pass\" 2>&1`;
 
    # if we noticed a success
    if ($result =~ /dn:uid=/ )
    {  
    	# increment the success coun and don't hilight the output
    	print "\033[0m$date \{" . ++$success . "\/" . $failure . "\} $dn -> $result";
    }
    else
    {  
    	# otherwise increment the failure count and hilight the output
    	print "\033[1m$date \{" . $success . " " . ++$failure . "\} $dn -> $result";
    }
 
    # uncomment to slow things down a bit
    #sleep 1;
}
source : http://edisk.fandm.edu/matt.richard/ldap-perls.html

ca fonctionne mais le probleme c'est que je doit renseigne un groupe d'utilisateur sinon ca ne fonctionne pas :

my $uid_base = "ou=people,dc=example,dc=org";
my $bind_pass = "abc123";

ainsi, il trouve plusieurs utilisateurs dans la branche ou=people. Mais le mot de passe est valable que pour une seule personne du groupe people.
mais quetion est :
est-il possible de mettre tout les mot de passe en parametre dans ce script ???
merci


exemple :
my $uid_base = "ou=people,dc=example,dc=org";
my $bind_pass = "passwd1","passwd2";

EDIT : je ne connais malheureusement pas se language