1
2
3
4
5
6
7
8
9
10
11
12
13
14 import ldap, getpass, sys
15
17 l = ldap.open('127.0.0.1')
18 try:
19 l.simple_bind_s('cn=admin,o=gouv,c=fr',pass_ldap)
20 except:
21 sys.exit("\nerreur d'authentification\n")
22
23
24 try:
25 result = l.search_s("o=gouv, c=fr", ldap.SCOPE_SUBTREE,"(&(objectClass=organization)(o=gouv))")
26 except ldap.NO_SUCH_OBJECT:
27 result = []
28 if result == []:
29 l.add_s('o=gouv,c=fr', [('objectClass','organization'),('o','gouv'),('description','Gouvernemental')])
30
31
32 result = l.search_s("o=gouv, c=fr", ldap.SCOPE_SUBTREE,"(&(objectClass=OpenLDAPperson)(uid="+login+"))")
33 if result == []:
34
35 try:
36 l.add_s('uid='+login+',o=gouv,c=fr', [('objectClass','OpenLDAPperson'),('uid',login),('cn',login),('sn',login),('UserPassword',passwd)])
37 except:
38 print("\nerreur d'authentification\n")
39 else:
40
41 try:
42 l.modify_s('uid='+login+',o=gouv,c=fr', [(ldap.MOD_REPLACE,'UserPassword',passwd)])
43 except:
44 print("\nerreur d'authentification\n")
45
46 l.unbind()
47
49 l = ldap.open('127.0.0.1')
50 try:
51 l.simple_bind_s('cn=admin,o=gouv,c=fr',pass_ldap)
52 except:
53 sys.exit("\nerreur d'authentification\n")
54
55
56 result = l.search_s("o=gouv, c=fr", ldap.SCOPE_SUBTREE,"(&(objectClass=OpenLDAPperson)(uid=%s))" % login)
57 if len(result) != 1:
58 print "\nerreur, cet utilisateur n'existe pas\n"
59 return 0
60 else:
61
62 try:
63 l.delete_s(result[0][0])
64 except:
65 return 0
66 else:
67 return 1
68
69 l.unbind()
70
72 l = ldap.open('127.0.0.1')
73 try:
74 l.simple_bind_s('cn=admin,o=gouv,c=fr',pass_ldap)
75 except:
76 sys.exit("\nerreur d'authentification\n")
77
78
79 result = l.search_s("o=gouv, c=fr", ldap.SCOPE_SUBTREE,"(objectClass=OpenLDAPperson)")
80 l.unbind()
81 if result == []:
82 print "\n Aucun utilisateur trouvé dans l'annuaire local\n"
83 else:
84
85 print "\n liste des utilisateurs zephir :\n"
86 for user in result:
87 print "- " + str(user[1]['cn'][0])
88 print "\n"
89