[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/usr/share/se3/sbin/ -> testmdp.sh (source)

   1  #!/bin/bash
   2  
   3  #
   4  ## $Id: testmdp.sh 6654 2011-11-27 16:35:54Z dbo $ ##
   5  #
   6  ##### Test du changement de mot de passe pour les professeurs #####
   7  # Stephane Boireau, Academie de Rouen
   8  #
   9  # Modification pour test sur n'importe quel groupe : Olivier Lacroix, Académie de Créteil
  10  
  11  #Couleurs
  12  COLTITRE="\033[1;35m"    # Rose
  13  COLPARTIE="\033[1;34m"    # Bleu
  14  COLTXT="\033[0;37m"    # Gris
  15  COLCHOIX="\033[1;33m"    # Jaune
  16  COLDEFAUT="\033[0;33m"    # Brun-jaune
  17  COLSAISIE="\033[1;32m"    # Vert
  18  COLCMD="\033[1;37m"    # Blanc
  19  COLERREUR="\033[1;31m"    # Rouge
  20  COLINFO="\033[0;36m"    # Cyan
  21  
  22  ERREUR()
  23  {
  24      echo -e "$COLERREUR"
  25      echo "ERREUR!"
  26      echo -e "$1"
  27      echo -e "$COLTXT"
  28      exit 1
  29  }
  30  
  31  WWWPATH="/var/www"
  32  ## recuperation des variables necessaires pour interoger mysql ###
  33  if [ -e $WWWPATH/se3/includes/config.inc.php ]; then
  34      dbhost=`cat $WWWPATH/se3/includes/config.inc.php | grep "dbhost=" | cut -d = -f 2 | cut -d \" -f 2`
  35      dbname=`cat $WWWPATH/se3/includes/config.inc.php | grep "dbname=" | cut    -d = -f 2 | cut -d \" -f 2`
  36       dbuser=`cat $WWWPATH/se3/includes/config.inc.php | grep "dbuser=" | cut -d = -f 2 | cut -d \" -f 2`
  37       dbpass=`cat $WWWPATH/se3/includes/config.inc.php | grep "dbpass=" | cut -d = -f 2 | cut -d \" -f 2`
  38  else
  39      ERREUR "Fichier de configuration inaccessible, le script ne peut se poursuivre."
  40  fi
  41  
  42  if [ $# -ne 1 -o "$1" = "--help" -o "$1" = "-h" ]; then
  43          echo "Teste le changement des mots de passe pour les utilisateurs d'un groupe"
  44      echo -e "$COLERREUR\c"
  45      echo -e "$0 a besoin d'un argument pour fonctionner: le nom d'un groupe de l'annuaire"
  46      echo -e "$COLTXT"
  47      echo "ex1 : ./testmdp.sh Profs"
  48      echo "testera les mots de passe du groupe Profs"
  49      echo ""
  50      exit 1
  51  fi
  52  
  53  ### recuperation des parametres actuels de l'annuaire dans la base ####
  54  BASEDN=`echo "SELECT value FROM params WHERE name=\"ldap_base_dn\"" | mysql -h $dbhost $dbname -u $dbuser -p$dbpass -N`
  55  
  56  TST_GRP=$(ldapsearch -xLLL cn="$1" -b $BASEDN | grep member)
  57  
  58  if [ -z "$TST_GRP" ]; then
  59    TST_GRP=$(ldapsearch -xLLL cn="$1" -b $BASEDN)
  60    if [ -z "$TST_GRP" ]; then
  61      ERREUR "Impossible de trouver le groupe ou l'utilisateur passe en parametre dans l'annuaire Ldap"
  62    else
  63      echo "Le groupe est vide."
  64      exit 1
  65    fi
  66  fi
  67  
  68  HEURE=$(date|cut -d" " -f5)
  69  
  70  ldapsearch -xLLL cn=$1 | grep memberUid | while read A
  71  do
  72      uid=$(echo "$A" | cut -d" " -f2)
  73      date=$(ldapsearch -xLLL uid=$uid | grep "^gecos:" | cut -d"," -f2)
  74          #echo "user : $uid date : $date"
  75      if smbclient -L 127.0.0.1 -U $uid%$date > /dev/null; then
  76          #echo "Le professeur <A HREF="/annu/people.php?uid=$uid">$uid</A> a conserve $date pour mot de passe."
  77          echo "L'utilisateur <A HREF="/annu/people.php?uid=$uid">$uid</A> a conserve sa date de naissance pour mot de passe."
  78                  echo "TOUTLEMONDEILNESTPASGENTIL" > /tmp/testmdp.$HEURE
  79      #else
  80          #~ echo "$uid est un bon petit soldat;o), il a bien changé son mot de passe."
  81      fi
  82  done
  83  
  84  if [ -e /tmp/testmdp.$HEURE ]; then
  85    rm /tmp/testmdp.$HEURE
  86  else
  87    echo "Tous les membres ont change leur mot de passe initial. Que de bons petits soldats ;-)..."
  88  fi


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1