Utilisation de LDAPS avec Python

Problème de permissions

Le problème exposé dans ce sujet a été résolu.

Bonjour à tous !

Je rencontre un problème en essayant d’utiliser mon serveur LDAP avec Python.

Voici le script que j’essaye d’exécuter :

#!/usr/bin/env python3

import ldap, sys

LDAP_SERVER = 'ldaps://ldap.example.com'
LDAP_BASE = 'ou=People,dc=example,dc=com'
USER = '(uid=myuid)'

ldap.set_option(ldap.OPT_DEBUG_LEVEL, 4065)

try:
    l = ldap.initialize(LDAP_SERVER, trace_level=9)
except ldap.LDAPError:
    sys.stderr.write("Fatal error\n")
    raise

try:
    l.protocol_version = ldap.VERSION3
    result = l.search_s(LDAP_BASE, ldap.SCOPE_SUBTREE, USER)
    print(result)
    print('Result is OK!')
    l.unbind()
except Exception as error:
    print(error)

Plusieurs cas :

  1. Si j’exécute simplement python3 test_ldaps.py, j’obtiens {'info': 'Permission denied', 'desc': "Can't contact LDAP server", 'errno': 13}
  2. Si j’exécute sudo python3 test_ldaps.py, j’obtiens le résultat escompté.
  3. Si j’exécute une de ces deux commandes en changeant la ligne LDAP_SERVER = 'ldaps://ldap.example.com' par LDAP_SERVER = 'ldap://ldap.example.com', j’obtiens le bon résultat.

Que dois-je changer pour pouvoir utiliser LDAPS sans utiliser sudo ? Comment permettre à Python d’accéder à LDAPS ?

Hésitez pas à me dire si vous avez besoin de plus d’infos :)

Merci d’avance !

Si jamais quelqu’un a le même problème un jour :

Le problème venait du fait que le script n’a pas les droits d’exécution sur les dossiers /etc/letsencrypt/archive et /etc/letsencrypt/live. En accordant des droits 751 avec chmod, le script fonctionne bien :)

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte