Skip to content

Commit 6e3ae1d

Browse files
committed
gestion excludedObjectclasses, refactoring
1 parent e4d8939 commit 6e3ae1d

File tree

10 files changed

+21
-56
lines changed

10 files changed

+21
-56
lines changed

.github/workflows/release.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@ jobs:
1414
run: |
1515
mkdir -p .debpkg/var/lib/sesame-daemon/backends-modules/openldap/etc
1616
mkdir -p .debpkg/var/lib/sesame-daemon/backends-modules/openldap/bin
17+
mkdir -p .debpkg/var/lib/sesame-daemon/backends-modules/openldap/lib
1718
cp src/bin/* .debpkg/var/lib/sesame-daemon/backends-modules/openldap/bin
18-
cp src/lib/* .debpkg/var/lib/sesame-daemon/backends-modules/openldap/bin
19+
chmod 700 .debpkg/var/lib/sesame-daemon/backends-modules/openldap/bin/*
20+
cp src/lib/* .debpkg/var/lib/sesame-daemon/backends-modules/openldap/lib
1921
cp src/etc/config.conf.exemple .debpkg/var/lib/sesame-daemon/backends-modules/openldap/etc
2022
cp src/config.yml .debpkg/var/lib/sesame-daemon/backends-modules/openldap
2123
cp README.md .debpkg/var/lib/sesame-daemon/backends-modules/openldap

README.md

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,4 @@
11
# sesame-backend-ldap
22
Bakend LDAP pour Sesame
3-
## Installation
4-
5-
Le backend LDAP est ecrit en python :
6-
```
7-
#apt-get install sesame-backend-openldap
8-
9-
```
10-
## Configuration
11-
LA configuration se fait dans etc/config.conf
12-
13-
```
14-
# host lDAP (peut etre noté sous forme URI si seulement l'adresse est renseignée LDAP sur port 389
15-
host=ldaps://myldap.mydomain.com:636
16-
# Dn de connection (doit avoir les droits d'ecriture sur le Ldap)
17-
dn=cn=manager,cn=internal,dc=mydomain,dc=com
18-
# mot de passe du DN ci dessus
19-
password=MyPassword
20-
# Base Ldap
21-
base=dc=mydomain,dc=com
22-
# base pour l enregistrement des identités
23-
userbase=ou=peoples,dc=mydomain,dc=com
24-
# Attribut composant le RDN
25-
rdnattribute=uid
26-
# Branche pour la population etd (si vide l'enregistrement se fera dans "userbase"
27-
branchForEtd=ou=Etudiants
28-
# Branche pour la population adm (si vide l'enregistrement se fera dans "userbase"
29-
branchForAdm=ou=Administratifs
30-
# Branche pour la population esn (si vide l'enregistrement se fera dans "userbase"
31-
branchForEsn=ou=Enseignants
32-
# Attribut determinant le type de population
33-
branchAttr=supannTypeEntiteAffectation
34-
# Backend pour ces populations (séparée par des virgules)
35-
backendFor=adm,etd,esn
36-
```
37-
38-
## Activation
39-
l'activation ou la desactivation du backends est paramétrée dans le fichier config.yml
40-
41-
```
42-
name: 'openldap'
43-
description: 'Backend for openldap'
44-
active: true <= true ou false
45-
```
463

4+
voir la documentation dans (https://libertech-fr.github.io/sesame-doc/backends/backend_LDAP.html)

install.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ echo "password=${PASSWORD}" >> ${CONFFILE}
3838
echo "base=${BASE}" >> ${CONFFILE}
3939
echo "userbase=${USERBASE},${BASE}" >> ${CONFFILE}
4040
echo "rdnattribute=${RDN}" >> ${CONFFILE}
41+
echo "backendFor=etd,adm,esn" >> ${CONFFILE}
4142
chmod 600 ${CONFFILE}
4243
systemctl restart sesame-daemon
4344
echo "Vous pouvez completer le fichier de configuration avec les parametres optionnels (voir README.md)"

src/bin/changepwd.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/python3
22
import sys
3-
sys.path.insert(0, '../lib')
4-
import backend_utils as u
3+
sys.path.append('../lib')
4+
import backend_ldap_utils as u
55

66

77
def main():

src/bin/delentity.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/python3
22
import sys
3-
sys.path.insert(0, '../lib')
4-
import backend_utils as u
3+
sys.path.append('../lib')
4+
import backend_ldap_utils as u
55

66
def main():
77
json=u.readjsoninput()

src/bin/ping.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/usr/bin/python3
22
import sys
33

4-
sys.path.insert(0, '../lib')
5-
import backend_utils as u
4+
sys.path.append('../lib')
5+
import backend_ldap_utils as u
66

77
def main():
88
u.readconfig('../etc/config.conf')

src/bin/resetpwd.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/python3
22
import sys
3-
sys.path.insert(0, '../lib')
4-
import backend_utils as u
3+
sys.path.append('../lib')
4+
import backend_ldap_utils as u
55

66

77
def main():

src/bin/upsertidentity.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/python3
22
import sys
3-
sys.path.insert(0, '../lib')
4-
import backend_utils as u
3+
sys.path.append('../lib')
4+
import backend_ldap_utils as u
55

66
def main():
77
json=u.readjsoninput()

src/etc/config.conf.exemple

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ password=MyPassword
44
base=dc=mydomain,dc=com
55
userbase=ou=peoples,dc=mydomain,dc=com
66
rdnattribute=uid
7+
excludedObjectclasses=isly,dummy
78
branchForEtd=ou=Etudiants
89
branchForAdm=ou=Administratifs
910
branchForEsn=ou=Enseignants
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,11 @@ def make_entry_array(entity):
7878
data[k]=str(v)
7979

8080
for obj in objectclasses:
81-
for k,v in additionalFields[obj].items():
82-
data[k]=str(v)
81+
#recherche si l objectclass est exclu
82+
exclusions=config('excludedObjectclasses').lower()
83+
if exclusions.find(obj.lower()) == -1:
84+
for k,v in additionalFields[obj].items():
85+
data[k]=str(v)
8386
return data
8487

8588

0 commit comments

Comments
 (0)