Script Bash pour la recherche des entrées LDAP
J'ai un script bash qui est utilisé pour supprimer un utilisateur en particulier s'il existe dans un groupe.
D'abord, j'ai extrait tous les noms de groupe et enregistré dans un fichier. Comme prochaine étape, je pensais que je devrais analyser le fichier et utiliser la commande ldapsearch sur toutes les entrées et grep l'utilisateur, et si elle existe, utilisez la commande ldapmodify pour le supprimer.
Ma question est de savoir comment écrire la condition si, j'.e if [ *ldapsearch query* == True];then
C'est ce que ma commande ldapsearch ressemble, et la première ligne à l'intérieur de la boucle while est la if
déclaration.
while read grp;do
ldapsearch -w 'ldappass' -D "cn=adminuser,dc=some-domain,dc=com" -b "cn=$grp,ou=group,dc=some-domain,dc=com" | grep $someuser
done</home/someuser/tempfile.txt
Sur la CLI, ce ldapsearch requête renvoie le résultat suivant;
memberUid: testuser
Donc en gros, si le if
instruction renvoie une valeur (c'est à dire que l'utilisateur existe), alors j'ai supprimer l'utilisateur. Comment puis-je obtenir un bon if
pour obtenir un résultat Vrai ou Faux pour la commande ldapsearch requête?
OriginalL'auteur rahuL | 2013-08-13
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
-z
option, qui vérifie si la chaîne est vide ou pas.[ -z "$string" ]
est vrai si la chaîne est vide. Ensuite, ce qui peut rendre:Par exemple de dire que nous voulons vérifier si un répertoire est vide:
Tous ensemble:
OriginalL'auteur fedorqui