nutools/doc/uldap.twp

228 lines
11 KiB
Plaintext
Raw Normal View History

2013-08-27 15:14:44 +04:00
# -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
##@creator: jclain
##@created: 27/04/2016 03:19
2013-08-27 15:14:44 +04:00
##@modifier: jclain
##@changecount: 1
2015-08-20 07:58:17 +04:00
##@tags:
2013-08-27 15:14:44 +04:00
##@title: uldap
{{{
uldap: Shell pour accéder à un serveur ldap
USAGE
uldap [options]
OPTIONS
-C profile
Sélectionner un profil de connexion. Par défaut, si l'option -H n'est
pas spécifiée, le premier profil est sélectionné.
-x Ne pas tenter de faire une connexion sur le profil par défaut si aucun
profil n'est sélectionné.
-f script
Lire les commandes depuis le script spécifié.
-n Avec un script donné en ligne de commande ou lu depuis un fichier, ne pas
ajouter automatiquement la commande print à la fin
-i Si un script est spécifié, passer en mode interactif après l'exécution
du script.
-e Forcer l'arrêt du script si une erreur se produit. C'est l'option par
défaut pour un script spécifié avec -f.
-l input.ldif
Charger le fichier input.ldif comme espace de travail initial
-H ldapuri
-D binddn
-w password
-b searchbase
-v var=value
COMMANDES
$ cmd
Passer directement une commande au shell.
set [options] [var=value...]
Changer des options ou des variables. set sans argument affiche la liste
des variables définies.
[set] plain
Passer en mode 'plain': indiquer que l'espace de travail contient des
données brutes. Les pré-traitements et post-traitements (uncut_on_load,
decode_on_load, encode_on_save, cut_on_save) ne sont pas appliqués sur
cet espace de travail
[set] ldif
Passer en mode 'ldif': indiquer que l'espace de travail contient des
données ldif. Les pré-traitements et post-traitements sont appliqués
normalement sur cet espace de travail
[set] append
Pour certaines opérations, spécifier si le résultat de la *prochaine*
opération remplace le contenu de l'espace de travail courant (par
défaut), ou si le résultat est ajouté à la fin.
last
Afficher en mode édition la dernière commande. Cette commande n'est
fonctionnelle qu'avec une version de bash >=4.x
profile name
Choisir le profil 'name'. Equivalent à 'set profile=name'. Sans
argument, afficher la liste des profils valides.
auth anonymous|binddn [password]
Spécifier le compte à utiliser pour se connecter. Equivalent à
'set binddn=binddn; set password=password'
clear [-k]
Vider l'espace de travail et passer en mode 'plain'.
Avec l'option -k, supprimer aussi tout l'historique d'annulation.
load [-k] input
Charger un fichier dans l'espace de travail. Si l'extension du fichier
est .ldif, passer en mode 'ldif'
En mode append, rajouter le contenu du fichier à l'espace de travail,
puis repasser en mode replace.
Le code de retour est 0 si le fichier a été chargé, 1 sinon.
save [-a] output
Sauvegarder l'espace de travail dans un fichier.
Avec l'option -a, rajouter au fichier au lieu de l'écraser
print
Afficher l'espace de travail
alias a=rdn...
Définir un alias pour la commande cd. 'a' est l'alias, 'rdn' est le dn
correspondant, exprimé par rapport à $suffix. Sans argument, afficher
la liste des aliases définis.
cd rdn
Changer searchbase. Par défaut, il s'agit d'un rdn relatif à $searchbase
- Certains aliases sont supportés: .. pour l'objet parent, ~ pour
$suffix, / pour la racine. 'cd' sans argument équivaut à 'cd ~'
- Si le dn commence par '~/', il s'agit d'un rdn relatif à $suffix.
- Si le dn commence par /, searchbase reçoit la valeur rdn sans
modifications (sauf bien sûr enlever le '/' de tête si nécessaire). Il
faut alors que ce soit un dn absolu.
ls [-b searchbase] [filter [attrs...]]
search [-b searchbase] [filter [attrs...]]
Utiliser ldapsearch pour faire la recherche, et copier le résultat dans
l'espace de travail. 'ls' est équivalent à 'search -s one'. Si ce n'est
pas déjà le cas, passer en mode 'ldif'.
L'option -b prend une valeur avec la même syntaxe que la commande cd,
sauf que les alias ne sont pas supportés. En particulier, la valeur est
relative au $searchbase courant. Pour faire une recherche par rapport à
$suffix, il faut utiliser la syntaxe ~/searchbase.
En mode append, rajouter le résultat de la recherche à l'espace de
travail, puis repasser en mode replace.
Le code de retour est 1 si aucun enregistrement n'a été trouvé, sinon
le code de retour est celui de la commande ldapsearch.
cut Couper les lignes trop longues. Cette action est en principe effectuée
automatiquement lors de la sauvegarde. Il n'est pas conseillé
d'appliquer des méthodes de transformation après avoir utilisé cette
action.
uncut
Fusionner les lignes coupées. Cette action est en principe effectuée
automatiquement lors du chargement ou après la recherche.
encode [attrs...]
Encoder en base64 les valeurs des attributs mentionnés.
decode [attrs...]
Décoder les valeurs des attributs mentionnés si nécessaire (c'est à dire
s'ils sont encodés en base64)
keepattr attrs...
Garder uniquement les lignes des attributs mentionnés. Ensuite,
supprimer les objets ayant uniquement la ligne dn: (en d'autres termes,
keepattr sans argument supprime *tout* l'espace de travail)
keepval attr patterns...
Pour l'attribut attr, garder uniquement les lignes pour lesquelles les
valeurs correspondent aux expressions régulières. Les autres attributs
ne sont pas modifiés. Ensuite, supprimer les objets ayant uniquement la
ligne dn:
exclude attrs...
Supprimer les lignes des attributs mentionnés. Ensuite, supprimer les
objets ayant uniquement la ligne dn:
excludeval attr patterns...
Pour l'attribut attr, supprimer les lignes pour lesquelles les
valeurs correspondent aux expressions régulières. Les autres attributs
ne sont pas modifiés. Ensuite, supprimer les objets ayant uniquement la
ligne dn:
keepvalentry attr patterns...
Pour l'attribut attr, vérifier si *au moins une* valeur correspond à
l'une des expressions régulières. Si c'est le cas, garder l'entrée
entière, sinon supprimer l'entrée.
excludevalentry attr patterns...
Pour l'attribut attr, vérifier si *aucune* des valeurs ne correspond à
l'une des expressions régulières. Si c'est le cas, garder l'entrée
entière, sinon supprimer l'entrée.
2013-08-27 15:14:44 +04:00
setval attr values...
Remplacer toutes les valeurs de l'attribut attr par les valeurs
spécifiées.
addval attr values...
Ajouter un nouvel attribut avec les valeurs spécifiées. Si l'attribut
existe déjà, les nouvelles valeurs sont ajoutées à la fin.
sed args
Modifier l'espace de travail avec le résultat de la commande sed.
note: aucun argument n'est filtré, mais il ne faut pas utiliser les
options de sed qui provoquent la modification en place du fichier,
comme par exemple l'option -i
awk args
Modifier l'espace de travail avec le résultat de la commande awk.
grep args
Modifier l'espace de travail avec le résultat de la commande grep.
format [options] attrs...
Formater l'espace de travail en données tabulaires, et passer en mode
'plain'.
--show-headers
Afficher les en-têtes
-F FSEP
Spécifier le séparateur pour les attributs. Par défaut, il s'agit du
caractère de tabulation.
-R VSEP
Spécifier le séparateur pour les valeurs des attributs. Par défaut, il
s'agit du point-virgule ';'
-e Retourner les valeurs comme des variables shell. Les options -F et -R
sont ignorées. Les attributs multivalués sont écrits sous forme de
tableaux. Par exemple:
attributes=('mail' 'givenName')
index=0
mail='user@domain.fr'
givenName=('peter' 'gabriel')
--bc
Dans le mode -e, spécifier une commande à insérer avant le premier
enregistrement. Quand cette commande est lancée, index==-1
-c Dans le mode -e, spécifier une commande à insérer après chaque
enregistrement
--ec
Dans le mode -e, spécifier une commande à insérer après le dernier
enregistrement
sort [args]
Modifier l'espace de travail avec le résultat de la commande sort.
edit
Lancer un éditeur pour modifier l'espace de travail.
diff [options]
Afficher les différences entre l'espace de travail et la version
précédente
ifok cmd
iferror cmd
Si le dernier code de retour est 0 (resp. !=0), lancer la commande cmd
skip n
Sauter les n prochaines commandes. A utiliser avec ifok et iferror
undo
Annuler la dernière modification effectuée sur l'espace de travail
Les directives suivantes prennent le contenu de l'espace de travail, et le
transforment en une suite de commandes de modifications pour ldapmodify:
A Créer un objet de toutes pièces avec les attributs donnés et leurs
valeurs.
a Ajouter les valeurs spécifiée à l'attribut
r Remplacer les valeurs de l'attribut par celles spécifiées
d Supprimer les valeurs spécifiées de l'attribut
D Supprimer l'attribut
delentry
Supprimer l'objet
ldapmodify
Utiliser ldapmodify pour modifier les objets sur le serveur. Il faut
utiliser au préalable l'une des méthodes de transformation parmi A, a,
r, d, D, delentry.
Le code de retour est celui de la commande ldapmodify.
ldapadd
Utiliser ldapadd pour créer les objets situés dans l'espace de travail.
Le code de retour est celui de la commande ldapadd.
ldapdelete
Utiliser ldapdelete pour supprimer la liste des dns situés dans l'espace
de travail.
Le code de retour est celui de la commande ldapdelete.
Notes:
- les expressions régulières sont celles reconnues par awk.
- pour spécifier plusieurs actions sur une même ligne, les séparer par //
- le code de retour est 0 si ok, 255 si une erreur s'est produite (erreur de
syntaxe, de connexion, de lecture/écriture de fichier, etc.). sinon, les
opérations ldap{search,modify,delete,add} ont leur code de retour respectifs
}}}