[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 #!/bin/bash 2 3 # 4 ## $Id: recherche_ldap.sh 7757 2013-04-05 10:50:42Z crob $ ## 5 # 6 ##### Permet de faire des recherches dans l'annuaire LDAP ##### 7 # 8 # Derniere modif: 20130217 9 10 #. /usr/share/se3/sbin/variables_admin_ldap.sh lib > /dev/null 11 . /etc/se3/config_l.cache.sh 12 13 BASEDN=$ldap_base_dn 14 ROOTDN=cn=admin,$BASEDN 15 PASSDN=$adminPw 16 17 #Couleurs 18 COLTITRE="\033[1;35m" # Rose 19 COLPARTIE="\033[1;34m" # Bleu 20 21 COLTXT="\033[0;37m" # Gris 22 COLCHOIX="\033[1;33m" # Jaune 23 COLDEFAUT="\033[0;33m" # Brun-jaune 24 COLSAISIE="\033[1;32m" # Vert 25 26 COLCMD="\033[1;37m" # Blanc 27 28 COLERREUR="\033[1;31m" # Rouge 29 COLINFO="\033[0;36m" # Cyan 30 31 if [ -z "$1" ]; then 32 echo -e "$COLERREUR" 33 echo "ERREUR: Le motif recherche doit etre de la forme cn=XXX ou uid=XXX" 34 echo " ou uid=XXX*" 35 echo -e "$COLTXT" 36 exit 37 fi 38 39 motif=$1 40 41 t=$(echo "$motif"|grep "=") 42 pref=$(echo $motif|cut -d"=" -f1) 43 valeur_motif=$(echo $motif|cut -d"=" -f2) 44 #echo "pref=$pref" 45 #echo "valeur_motif=$valeur_motif" 46 if [ -z "$t" -o -z "$pref" -o -z "$valeur_motif" ]; then 47 echo -e "$COLERREUR" 48 echo "ERREUR: Le motif recherche doit etre de la forme cn=XXX ou uid=XXX" 49 echo " ou uid=XXX*" 50 echo -e "$COLTXT" 51 #exit 52 53 liste_pref[1]="cn" 54 liste_pref[2]="uid" 55 liste_pref[3]="employeeNumber" 56 liste_pref[4]="gecos" 57 liste_pref[5]="uidNumber" 58 liste_pref[6]="gidNumber" 59 liste_pref[7]="ipHostNumber" 60 liste_pref[8]="macAddress" 61 62 REP="" 63 while [ -z "$REP" ] 64 do 65 echo -e "Veuillez choisir parmi les attributs suivants: 66 ($COLCHOIX}1$COLTXT}) cn ($COLCHOIX}2$COLTXT}) uid ($COLCHOIX}3$COLTXT}) employeeNumber ($COLCHOIX}4$COLTXT}) gecos 67 ($COLCHOIX}5$COLTXT}) uidNumber ($COLCHOIX}6$COLTXT}) gidNumber ($COLCHOIX}7$COLTXT}) ipHostNumber ($COLCHOIX}8$COLTXT}) macAddress" 68 echo -e "Votre choix: [$COLDEFAUT}2$COLTXT}] $COLSAISIE\c" 69 read REP 70 71 if [ -z "$REP" ]; then 72 REP=2 73 fi 74 75 if [ -z "$liste_pref[$REP]}" ]; then 76 echo -e "$COLERREUR" 77 echo "Choix invalide" 78 REP="" 79 fi 80 done 81 pref=$liste_pref[$REP]} 82 motif="$pref=$motif" 83 fi 84 85 liste_complete="" 86 liste_branche="" 87 liste_result="" 88 cpt=0 89 for branche in People Groups Computers Parcs Rights 90 do 91 #echo "ldapsearch -xLLL -b ou=$branche,$BASEDN $motif $pref|grep \"^$pref: \"|sed -e \"s|^$pref: ||\"" 92 OLD_IFS=$IFS 93 IFS=" 94 " 95 liste=($(ldapsearch -xLLL -b ou=$branche,$BASEDN $motif $pref|grep "^$pref: "|sed -e "s|^$pref: ||")) 96 IFS=$OLD_IFS 97 if [ -n "$liste[0]}" ]; then 98 echo -e "$COLINFO" 99 echo "Branche $branche:" 100 n=0 101 while [ "$n" -lt "${#liste[*]}" ] 102 do 103 echo -e "$COLCHOIX}$cpt$COLTXT} - $liste[$n]}" 104 liste_complete[$cpt]="-b ou=$branche,$BASEDN $pref=\"$liste[$n]}\"" 105 liste_branche[$cpt]="-b ou=$branche,$BASEDN" 106 liste_result[$cpt]=$liste[$n]} 107 n=$((n+1)) 108 cpt=$((cpt+1)) 109 done 110 fi 111 done 112 113 if [ "$cpt" = "0" ]; then 114 echo -e "$COLTXT" 115 echo "Aucune entree n'a ete trouvee pour le motif $motif" 116 exit 117 fi 118 119 REP="" 120 while [ -z "$REP" ] 121 do 122 echo -e "$COLTXT" 123 echo -e "Numero de l'entree a afficher: [$COLDEFAUT}0$COLTXT}] $COLSAISIE\c" 124 read REP 125 126 if [ -z "$REP" ]; then 127 REP=0 128 fi 129 130 if [ -n "$REP" -a -z "$liste_complete[$REP]}" ]; then 131 echo -e "$COLERREUR" 132 echo "Choix invalide" 133 REP="" 134 fi 135 done 136 137 debug="n" 138 if [ "$debug" = "y" ]; then 139 echo "Liste des entrees:" 140 n=0 141 while [ "$n" -lt "${#liste_complete[*]}" ] 142 do 143 echo "liste_complete[$n]=$liste_complete[$n]}" 144 n=$((n+1)) 145 done 146 fi 147 148 echo -e "$COLCMD" 149 #echo ldapsearch -xLLL -D $ROOTDN -w$PASSDN ${liste_complete[$REP]} 150 #ldapsearch -xLLL -D $ROOTDN -w$PASSDN ${liste_complete[$REP]} 151 ldapsearch -xLLL -D $ROOTDN -w$PASSDN $liste_branche[$REP]} $pref="$liste_result[$REP]}" 152 153 echo -e "$COLTXT" 154
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |