[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/usr/share/se3/scripts/ -> modif_profil_mozilla_ff.sh (source)

   1  #!/bin/bash
   2  
   3  #script permettant de modfier la page de demarrage de mozilla FF
   4  # Franck.molle@ac-rouen.fr version 0.1 - juin 2005
   5  
   6  ## $Id: modif_profil_mozilla_ff.sh 7061 2012-04-02 09:22:45Z dbo $ ##
   7  
   8  
   9  ERREUR()
  10  {
  11      echo ""
  12      echo "ERREUR!"
  13      echo -e "$1"
  14      echo ""
  15      exit 1
  16  }
  17  
  18  
  19  WWWPATH="/var/www"
  20  chemin_html="/var/www/se3/tmp"
  21  
  22  function RAPPORTHTML() {
  23  echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">
  24  <html>
  25  <head>
  26  <title>Traitement des profils</title>
  27  </head>
  28  <body>
  29  <h1 align=\"center\">Traitement des profils</h1>
  30  <p align=\"center\">Traitement $1</p>
  31  </body>
  32  </html>" > $chemin_html/recopie_profils_firefox.html
  33  
  34  }
  35  
  36  if [ ! $# -ge 1 ]; then
  37      echo ""
  38      echo  "$0 a besoin d'arguments pour fonctionner."
  39      echo "Passer en arguments dans l'ordre :"
  40      echo "- le nom du groupe ou de l'utilisateur dont vous voulez modifier la page de démarrage de Firefox,"
  41      echo "- l'url de la nouvelle page de démarrage,"
  42      echo "- eventuellement ajouter create_homes en argument si vous voulez créer les homes non encore existants avant de modifier la page de démarrage."
  43      echo "ex1 : ./modif_profil_mozilla profs http://www.google.fr create_homes"
  44      echo "fixera la page de démarrage de mozilla firefox à google.fr pour tous les profs et créera les homes si besoin avant de le faire."
  45      echo ""
  46      echo "ex2 : ./modif_profil_mozilla eleves http://www.google.fr"
  47      echo "fixera la page de démarrage de mozilla firefox à google.fr pour tous les élèves et ignorera les homes non encore existants."
  48      exit 1
  49  fi
  50  
  51  NEW_PAGE_DEM="$2"
  52  OPTION="$3"
  53  
  54  ## recuperation des variables necessaires pour interoger mysql ###
  55  if [ -e $WWWPATH/se3/includes/config.inc.php ]; then
  56      dbhost=`cat $WWWPATH/se3/includes/config.inc.php | grep "dbhost=" | cut -d = -f2 | cut -d \" -f2`
  57      dbname=`cat $WWWPATH/se3/includes/config.inc.php | grep "dbname=" | cut    -d = -f 2 |cut -d \" -f 2`
  58       dbuser=`cat $WWWPATH/se3/includes/config.inc.php | grep "dbuser=" | cut -d = -f 2 | cut -d \" -f 2`
  59       dbpass=`cat $WWWPATH/se3/includes/config.inc.php | grep "dbpass=" | cut -d = -f 2 | cut -d \" -f 2`
  60  else
  61      ERREUR "Fichier de configuration inaccessible, le script ne peut se poursuivre."
  62      
  63  fi
  64  path2UserSkel=`echo "SELECT value FROM params WHERE name='path2UserSkel'" | mysql -h $dbhost $dbname -u $dbuser -p$dbpass -N`
  65  if [ -z "$path2UserSkel" ]; then
  66      path2UserSkel="/etc/skel/user"
  67  fi
  68  
  69  CHEMIN_FF_SOURCE="$path2UserSkel}/profil/appdata/Mozilla"
  70  
  71  
  72  if [ "$1" == "skeluser" ]; then
  73      echo "Je change la page de demarrage pour le squelette en lui fixant $2"
  74      sed -e "/(\"browser.startup.homepage\",/d" -i $CHEMIN_FF_SOURCE}/Firefox/Profiles/default/prefs.js
  75      echo "user_pref(\"browser.startup.homepage\", \"$2\");'" >> $CHEMIN_FF_SOURCE}/Firefox/Profiles/default/prefs.js
  76      exit 0
  77  fi
  78  
  79  
  80      ### recuperation des parametres actuels de l'annuaire dans la base ####
  81      BASEDN=`echo "SELECT value FROM params WHERE name=\"ldap_base_dn\"" | mysql -h $dbhost $dbname -u $dbuser -p$dbpass -N`
  82      
  83      TST_GRP=$(ldapsearch -xLLL cn=$1 -b $BASEDN | grep member)
  84      
  85      if [ -z "$TST_GRP" ]; then
  86      TST_UID=$(ldapsearch -xLLL uid="$1" uid)
  87          if [ -z "$TST_UID" ]; then
  88              ERREUR "Impossible de trouver le groupe ou l'utilisateur passé en paramètre dans l'annuaire Ldap."
  89          else
  90              if [ -z "$NEW_PAGE_DEM" ]; then
  91                  if [ -e /home/$1 ]; then
  92                      rm -rf /home/$1/profil/appdata/Mozilla/Firefox
  93                      cp -r $CHEMIN_FF_SOURCE/Firefox /home/$1/profil/appdata/Mozilla/
  94                      chown -R $1:lcs-users /home/$1/profil/appdata/Mozilla/Firefox
  95                  else
  96                      /usr/share/se3/shares/shares.avail/mkhome.sh "$1"
  97                  fi
  98                  
  99                  exit 0
 100              fi
 101              
 102              if [ "$OPTION" == "create_homes" ]; then
 103                  /usr/share/se3/shares/shares.avail/mkhome.sh "$1"
 104              fi
 105              echo "Je change la page de démarrage pour $1 en lui fixant $2"
 106              if [ -e /home/$1 ]; then
 107                  sed -e "/(\"browser.startup.homepage\",/d" -i /home/$1/profil/appdata/Mozilla/Firefox/Profiles/default/prefs.js
 108                  echo "user_pref(\"browser.startup.homepage\", \"$2\");'" >> /home/$1/profil/appdata/Mozilla/Firefox/Profiles/default/prefs.js
 109              else
 110                  echo "Le home de l'utilisateur $1 n'existe pas et a été ignoré, relancer la script avec l'option create_homes en 3eme argument si vous voulez le créer."
 111              fi
 112              exit 0    
 113          fi
 114      fi
 115      TST_GRP_POSIX=$(ldapsearch -xLLL "cn=$1" | grep memberUid)
 116      if [ -z "$TST_GRP_POSIX" ]; then
 117          ldapsearch -x -LLL cn=$1 -b $BASEDN | grep uid | cut -d " " -f2 |  cut -d "=" -f2 | cut -d "," -f1 | while read A
 118          do
 119              if [ "$OPTION" == "create_homes" ]; then
 120              /usr/share/se3/shares/shares.avail/mkhome.sh "$A"
 121              fi
 122              
 123              if [ -e /home/$A ]; then
 124              echo "Je change la page de demarrage pour $A en lui fixant $2"
 125              sed -e "/(\"browser.startup.homepage\",/d" -i /home/$A/profil/appdata/Mozilla/Firefox/Profiles/default/prefs.js
 126              echo "user_pref(\"browser.startup.homepage\", \"$2\");'" >> /home/$A/profil/appdata/Mozilla/Firefox/Profiles/default/prefs.js
 127              else
 128              echo "Le home de l'utilisateur $A n'existe pas et a été ignoré, relancer le script avec l'option create_homes en 3eme argument si vous voulez le créer."
 129              fi
 130          done
 131      
 132      else
 133          RAPPORTHTML "du groupe $1 en cours"
 134          ldapsearch -x -LLL "cn=$1" | grep memberUid | cut -d " " -f2 | while read A
 135          do 
 136              if [ -z "$NEW_PAGE_DEM" ]; then
 137                  if [ -e /home/$A ]; then
 138                      echo "Remplacement profil Firefox pour $A"
 139                      rm -rf /home/$A/profil/appdata/Mozilla/Firefox
 140                      cp -r $CHEMIN_FF_SOURCE/Firefox /home/$A/profil/appdata/Mozilla/
 141                      chown -R $A:lcs-users /home/$A/profil/appdata/Mozilla/Firefox
 142                  else
 143                      echo "Creation espace perso de $A"
 144                      /usr/share/se3/shares/shares.avail/mkhome.sh "$A"
 145                  fi
 146                  
 147              else
 148                  if [ -e /home/$A ]; then
 149                      echo "Je change la page pour $A en lui fixant $2"
 150                      sed -e "/(\"browser.startup.homepage\",/d" -i /home/$A/profil/appdata/Mozilla/Firefox/Profiles/default/prefs.js
 151                      echo "user_pref(\"browser.startup.homepage\", \"$2\");'" >> /home/$A/profil/appdata/Mozilla/Firefox/Profiles/default/prefs.js
 152                  else
 153                      if [ "$OPTION" == "create_homes" ]; then
 154                          /usr/share/se3/shares/shares.avail/mkhome.sh "$A"
 155                      else
 156                          echo "Le home de l'utilisateur $A n'existe pas et a été ignoré, relancer la script avec l'option create_homes en 3eme argument si vous voulez le créer."
 157                      fi
 158                  
 159                  fi
 160  
 161                  
 162              fi
 163              
 164              
 165          done
 166          RAPPORTHTML "du groupe $1 Ok"
 167      fi
 168  
 169  exit 0


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