ldappy (1.0.3)
Installation
pip install --index-url ldappy
About this package
Ldappy CLI est un package écrit en python qui a pour but de manipuler le ldap de l'Université de la Réunion en ligne de commande.
Ldappy-Cli
Ldappy CLI est un package écrit en python qui a pour but de manipuler un Ldap, en particulier, le ldap de l'Université de la Réunion en ligne de commande.
Pour le moment, les fonctionnalités de ldappy
sont :
- ajouter/supprimer une valeur dans l'attribut
runUnivAuthorization
d'un individu - lister les Unités Organisationnelles
Prérequis
- Python 3.9 minimum
- Un environnement virtuel :
Pyenv
,Virtualenv
ouConda
Installation
Classique
- Récupérer le projet
ldappy
.
git clone https://git.univ-reunion.fr/sda-misc/ldappy
cloning into 'ldappy' ...
---> 100%
Done
- Installer les modules neccessaires pour l'utilisation de l'application.
$ pip install -r requirements.txt
---> 100%
Successfully installed typer, ldap3, PyYAML, tabulate
- Configurer un accès ldap personnalisé si besoin en créant ou modifiant le fichier
custom_ldap.yaml
qui se trouve dans le dossier ldappy/config.
- Utiliser le fichier
main-dev.py
pour lancer vos commandes.- Exemple :
python main.py --help
- Exemple :
Création du fichier de configuration ldap
Pour pouvoir utiliser l'application, un fichier de configuration au format yml doit être créér avec les informations
de connexion au Ldap. Par défaut, l'application se connectant sur LdapR
sans les droits admin, donc accès uniquement en lecture.
Ce fichier de configuration doit se trouver dans le dossier ldappy/config
sous le nom ldap.yml
$ tree
|-- ldappy
| |-- config
| | `-- ldap.yml
...
Ci-dessous, le template du fichier de configuration ldap.yml
.
// Template du fichier configuration
ldap:
host: ldapr.univ.run
port: 636 # port par défaut
base: '' # non utilisé
ldap_user: 'cn=toto,dc=univ-reunion,dc=fr' # utilisateur ldap
ldap_password: 'ceciestunmotdepasse' # mot de passe de l'utilisateur ldap
Poetry
Ldappy-Cli peut-être utiliser et installer via Poetry
.
C'est un gestionnaire de package et de dépendance. C'est l'équivalent Python de npm
.
Toutes les commandes sont disponibles directement sur le site de Poetry
.
Wheel
Vous pouvez directement installer le package ldappy-cli
via le wheel
disponible dans le dossier dist.
Pour l'installation :
$ pip install ldappy-0.1.0-py3-none-any.whl
Guide d'utilisation
L'application possède deux commandes :
rununivauthorization
: manipulation de l'attribut ldaprunUnivAuthorization
pour un utilisateur donné.uo
: recherche et listing d'Unité Organisationnelle via la brancheou=Structures,dc=univ-reunion,dc=fr
.
Général
$ python main-dev.py --help ✔ ldappy 10:29:14
Usage: main-dev.py [OPTIONS] COMMAND [ARGS]...
Options:
--version
--install-completion [bash|zsh|fish|powershell|pwsh]
Install completion for the specified shell.
--show-completion [bash|zsh|fish|powershell|pwsh]
Show completion for the specified shell, to
copy it or customize the installation.
--help Show this message and exit.
Commands:
config Conf accès ldap
rununivauthorization Manipulation de l'attribut
uo Recherche d'UO
Recherche d'UO
Gestion de runUnivAuthorization
$ python main.py rununivauthorization --help ✔ ldappy 11:20:29
Usage: main.py rununivauthorization [OPTIONS] COMMAND [ARGS]...
Manipulation de l'attribut `runUnivAthorization` disponible dans ldap
Ajout / Suppression de valeur
Options:
--help Show this message and exit.
Commands:
add Ajoute une valeur ou une liste de valeur dans l'attribut...
delete Supprime une valeur ou une liste de valeur dans l'attribut...
info Affiche les informations concernants l'attribut...
Unité Organisationnelle
$ python main.py uo --help ✔ ldappy 11:54:57
Usage: main.py uo [OPTIONS] COMMAND [ARGS]...
Voir et lister les UO (Unités Organisationnelles) qui sont disponible dans
le ldap
Options:
--help Show this message and exit.
Commands:
all Liste toutes les UO sous format json
Connection ldap
$ python main-dev.py config --help ✔ ldappy 10:38:00
Usage: main-dev.py config [OPTIONS] COMMAND [ARGS]...
Configuration des accès pour se connecter au ldap
Options:
--help Show this message and exit.
Commands:
custom Crée un fichier de configuration Ldap personnalisé.
default
RunUnivAuthorization
Pour ajouter ou supprimer une valeur à l'attribut runUnivAuthorization
pour un utilisateur, il faut connaitre soit
son dn
dans le ldap ou alors son matricule SIHAM
.
Plus d'informations sur l'attribut sont disponibles dans le fichier ldappy/docs/authorization.md
Exemple
- Ajouter la valeur "toto:*" à l'utilisateur "uid=ind12345"
$ python ldappy rununivauthorization add "toto:*" -u "uid=ind12345,ou=People,dc=univ-reunion,dc=fr"
La valeur "toto:*" a été ajouté à `runUnivAuthorization` pour l'utilisateur "uid=ind12345"
- Ajouter la valeur "tata" à l'utilisateur dont le numéro SIHAM correspond à
RUN00012345
$ python ldappy rununivauthorization add "toto:*" -u "RUN00012345" --flag matricule
La valeur "tata" a été ajouté à `runUnivAuthorization` pour l'utilisateur "RUN00012345"
Structure
La commande uo
est liée aux structures Unité Organisationnelle (UO).
Pour le moment, la commande ne permet que de lister les UO.
Exemple
$ python ldappy uo all
[
{
"attributes": {
"description": [
"Université"
],
"supannCodeEntite": [
"HU00000000"
]
},
"dn": "supannCodeEntite=HU00000000,ou=Structures,dc=univ-reunion,dc=fr"
},
...