[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
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
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 |