220 lines
10 KiB
Markdown
220 lines
10 KiB
Markdown
# -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
|
##@creator: jclain
|
|
##@created: 15/03/2012 22:20
|
|
##@modifier: jclain
|
|
##@changecount: 1
|
|
##@tags:
|
|
##@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:
|
|
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
|
|
}}}
|