[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

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

   1  #!/bin/bash
   2  #
   3  ##### Script permettant de remettre des droits corrects sur /home et /var/se3 #####
   4  #
   5  # Auteur : Stephane Boireau (Bernay/Pont-Audemer (27))
   6  #
   7  ## $Id: restore_droits.sh 7079 2012-04-07 18:08:59Z crob $ ##
   8  #
   9  # Derniere modif: 22/09/2010
  10  
  11  if [ "$1" = "--help" -o "$1" = "-h" ]; then
  12      echo "Script permettant de remettre des droits corrects sur /home et /var/se3"
  13      echo ""
  14      echo "Usage : Pas d'option pour un usage classique."
  15          echo "        --home Pour juste remettre les droits sur les home"
  16      echo "        Si vous souhaitez remettre en place les ACL et proprios par defaut de"
  17      echo "        /var/se3, passez 'acl_default' en parametre."
  18      echo "        Pour en plus repondre par Oui a toutes les demandes de confirmation"
  19      echo "        lors de la restauration des acl par defaut, passer 'auto' en deuxieme"
  20      echo "        parametre."
  21      exit
  22  fi
  23  
  24  # Dossier pouvant contenir les ACL de /var/se3
  25  dossier_svg="/var/se3/save"
  26  
  27  HTML=0
  28  if echo "$*" | grep "html" > /dev/null; then
  29      HTML=1
  30  fi
  31  
  32  if [ "$HTML" == "0" ]; then
  33      #Couleurs
  34      COLTITRE="\033[1;35m"    # Rose
  35      COLPARTIE="\033[1;34m"    # Bleu
  36  
  37      COLTXT="\033[0;37m"    # Gris
  38      COLCHOIX="\033[1;33m"    # Jaune
  39      COLDEFAUT="\033[0;33m"    # Brun-jaune
  40      COLSAISIE="\033[1;32m"    # Vert
  41  
  42      COLCMD="\033[1;37m"    # Blanc
  43  
  44      COLERREUR="\033[1;31m"    # Rouge
  45      COLINFO="\033[0;36m"    # Cyan
  46  else
  47      COLTITRE="<div style=\"color:black;\">"
  48      COLPARTIE="<div style=\"color:blue;\">"
  49      
  50      COLTXT="<div style=\"color:grey;\">"
  51      COLCHOIX="<div style=\"color:yellow;\">"
  52      COLDEFAUT="<div style=\"color:brown;\">"
  53      
  54      COLCMD="</div>"
  55      COLERREUR="<div style=\"color:red;\">"
  56      COLINFO="<div style=\"color:black;\">"
  57  fi
  58  
  59  if echo "$*" | grep "acl_default" > /dev/null; then
  60      acl_default="oui"
  61      if echo "$*" | grep "auto" > /dev/null; then
  62          auto="oui"
  63      fi
  64  fi
  65  
  66  
  67  
  68  [ "$HTML" == "0" ] && (
  69  echo -e "$COLTITRE"
  70  echo "#####################################################"
  71  echo "# Retablissement des droits et proprios sur /home/* #"
  72  echo "#             sur /var/se3/Classes,...              #"
  73  echo "#####################################################"
  74  )
  75  
  76  # Ajout pour retablir les droits
  77  # sur les raccourcis provenant de skeluser:
  78  echo -e "$COLCMD\c "
  79  if [ -e "/tmp/raccourcis_skel_user" ]; then
  80      rm -fr /tmp/raccourcis_skel_user/*
  81  else
  82      mkdir -p /tmp/raccourcis_skel_user
  83  fi
  84  cp -fr /etc/skel/user/profil/Bureau /tmp/raccourcis_skel_user/
  85  cp -fr /etc/skel/user/profil/Demarrer /tmp/raccourcis_skel_user/
  86  
  87  
  88  
  89  echo -e "$COLPARTIE"
  90  echo "==================="
  91  [ "$HTML" == "1" ] && echo "<br/>"
  92  echo "Traitement de /home"
  93  [ "$HTML" == "1" ] && echo "<br/>"
  94  echo "==================="
  95              #### ligne 17 !!!! ###
  96  echo -e "$COLCMD"
  97  ls /home | while read A
  98  do
  99      if [ -d "/home/$A" ]; then
 100          if [ "$A" != "templates" -a "$A" != "netlogon" -a "$A" != "admin" -a "$A" != "samba" -a "$A" != "sauvegarde" ]; then
 101              if [ ! -z "$(ldapsearch -xLLL uid=$A)" ]; then
 102                  echo -e "$COLTXT\c "
 103                  echo "Traitement de /home/$A"
 104                  echo -e "$COLCMD\c "
 105                  chown $A:admins /home/$A -R
 106                  chmod 700 /home/$A -R
 107  
 108                  # Ajout pour permettre a l'admin de deposer des documents dans le Mes documents des utilisateurs et aux utilisateurs de voir ces documents.
 109                  setfacl -R -m u:$A:rwx /home/$A/Docs
 110  
 111                  # Droits sur le menu Demarrer.
 112                  # Pour un bon fonctionnement du nettoyage avant application des templates:
 113                  #chown root /home/$A/profil/Demarrer/Programmes/* -R
 114                  #chown root /home/$A/profil/Demarrer -R
 115                  #chmod 755 /home/$A/profil/Demarrer -R
 116                  chown $A /home/$A/profil/Demarrer
 117                  chmod 555 /home/$A/profil/Demarrer
 118                  chown root /home/$A/profil/Demarrer/* -R
 119                  chmod 755 /home/$A/profil/Demarrer/* -R
 120                  # Inconvenient:
 121                  # En l'etat, les raccourcis provenant de skeluser
 122                  # seront aussi supprimes lors du prochain login.
 123  
 124                  # Tous les raccourcis sur le Bureau seront supprimes au prochain login:
 125                  #chown root:admins /home/$A/profil/Bureau
 126                  #chmod 777 /home/$A/profil/Bureau
 127                  chown $A:admins /home/$A/profil/Bureau
 128                  chmod 700 /home/$A/profil/Bureau
 129                  find /home/$A/profil/Bureau/ -iname "*.lnk" | while read B
 130                  do
 131                      chown root:admins "$B" -R
 132                      chmod 755 "$B"
 133                  done
 134  
 135                  # Dans profile, c'est lcs-users,... le groupe principal
 136                  # de l'utilisateur qui est proprietaire.
 137                  # Avec des droits a 700
 138                  # Idem pour les fichiers crees par l'utilisateur dans son Home.
 139  
 140                  # Retablissement des raccourcis provenant
 141                  # de /etc/skel/user/ soit X:\templates\skeluser\
 142                  chown $A:admins /tmp/raccourcis_skel_user -R
 143                  cp -fa /tmp/raccourcis_skel_user/Bureau/* /home/$A/profil/Bureau/ 2> /dev/null
 144                  cp -fa /tmp/raccourcis_skel_user/Demarrer/* /home/$A/profil/Demarrer/ 2> /dev/null
 145                  chown root:admins /home/$A/profil/Demarrer/Programmes
 146  
 147                  if [ -e "/home/profiles/$A" ]; then
 148                      echo -e "$COLTXT\c "
 149                      echo "Traitement de /home/profiles/$A"
 150                      echo -e "$COLCMD\c "
 151                      chown $A:lcs-users /home/profiles/$A -R
 152                      chmod 700 /home/profiles/$A -R
 153                      find /home/profiles/$A -iname ntuser.ini | while read ntuser_ini;do chmod 600 ${ntuser_ini} ;done
 154                      find /home/profiles/$A -iname ntuser.pol | while read ntuser_pol;do chmod 400 ${ntuser_pol} ;done
 155                  fi
 156              fi
 157          fi
 158  
 159          if [ "$A" = "admin" ]; then
 160              echo -e "$COLTXT\c "
 161              echo "Traitement 'allege' de /home/$A"
 162              echo -e "$COLCMD\c "
 163              chown $A:admins /home/$A -R
 164              chmod 700 /home/$A -R
 165              # Pour admin, les raccourcis actuellement presents dans le home ne seront pas supprimes (c'est embêtant).
 166              # Je prefere tout de même qu'il fasse le menage lui-même.
 167          fi
 168          
 169          if [ ! -z "$(echo "$A" | grep -e "_Trash_[0-9_]*")" ]; then
 170              # permet de corriger une erreur de quota en cas d'uid re-attribue
 171              echo "Traitement du dossier Trash des anciens homes : $A"
 172              chown -R admin:admins /home/$A
 173          fi
 174  
 175      fi
 176  done
 177  
 178  # Nettoyage:
 179  rm -fr /tmp/raccourcis_skel_user
 180  
 181  
 182  
 183  
 184  
 185  
 186  
 187  echo -e "$COLPARTIE"
 188  echo "============================="
 189  [ "$HTML" == "1" ] && echo "<br/>"
 190  echo "Traitements divers dans /home"
 191  [ "$HTML" == "1" ] && echo "<br/>"
 192  echo "============================="
 193  
 194  # Remarque:
 195  # Les droits indiques ci-dessous ont ete releves sur un SE3 Sarge fraichement installe.
 196  # Certains droits semblent curieux, comme les 674 sur les registre.zrn
 197  echo -e "$COLTXT"
 198  echo "Retablissement des droits sur /home/netlogon"
 199  echo -e "$COLCMD\c "
 200  /usr/share/se3/scripts/permse3 netlogon
 201  
 202  echo -e "$COLTXT"
 203  echo "Retablissement des droits sur /home/templates"
 204  echo -e "$COLCMD\c "
 205  chown admin:admins /home/templates
 206  setfacl -m u:www-se3:rwx /home/templates
 207  setfacl -m d:u:www-se3:rwx /home/templates
 208  ls /home/templates/ | while read A
 209  do
 210      if [ ! -h /home/templates/$A -a -d /home/templates/$A ]; then
 211          chown admin:admins /home/templates/$A
 212          chown admin:admins /home/templates/$A/*
 213  
 214          # Pour les dossiers 775 et pour les fichiers 674???
 215          chmod 775 /home/templates/$A/*
 216  
 217          
 218      fi
 219  
 220      # Il ne faut pas appliquer les modifs suivantes sur skeluser
 221      # Le lien ne pointe pas sur un dossier d'une partition XFS
 222      if [ ! -h /home/templates/$A ]; then
 223          setfacl -R -m u:www-se3:rwx /home/templates/$A
 224          setfacl -R -m d:u:www-se3:rwx /home/templates/$A
 225      fi
 226  done
 227  
 228  chown -R www-se3:admins /etc/skel/user
 229  chmod -R 755 /etc/skel/user
 230  
 231  
 232  
 233  
 234  # Droits sur /home/templates/... en cas de delegation de parc.
 235  echo -e "$COLCMD\c "
 236  ladate=$(date +"%Y.%m.%d-%H.%M.%S")
 237  tmp=/root/tmp/retablissement_delagation_parc.${ladate}
 238  mkdir -p $tmp
 239  echo "select * from delegation;" > $tmp/requete.sql
 240  liste=($(mysql -uroot se3db < $tmp/requete.sql))
 241  # Voici un exemple de retour:
 242  # ID login parc niveau 4 hugov xp view 5 curiem w9x manage
 243  # 0  1     2    3      4 5     6  7    8 9      10  11
 244  if [ ${#liste[*]} -gt 4 ]; then
 245      echo -e "$COLTXT"
 246      echo "Retablissement des delegations de parcs..."
 247      nb_delegations=$((${#liste[*]}/4-1))
 248      cpt=1
 249      while [ $cpt -le $nb_delegations ]
 250      do
 251          user=${liste[$((4*$cpt+1))]}
 252          parc=${liste[$((4*$cpt+2))]}
 253          niveau=${liste[$((4*$cpt+3))]}
 254          echo -e "$COLTXT"
 255          echo "Retablissement de la delegation $niveau a $user sur $parc"
 256          echo -e "$COLCMD\c "
 257          #/usr/share/se3/scripts/delegate_parc.sh $parc $user $niveau
 258          /usr/share/se3/scripts/delegate_parc.sh "$parc" "$user" "delegate"
 259          cpt=$(($cpt+1))
 260      done
 261  
 262      echo -e "$COLINFO"
 263      echo "Pour les delegations de parcs, les droits sur les dossiers de templates sont"
 264      echo "retablis."
 265      echo "Aucune modification n'a ete effectuee sur l'annuaire LDAP en ce qui concerne les"
 266      echo "droits 'parc_can_manage', 'parc_can_view'."
 267  fi
 268  
 269  
 270  if [ "$1" = "--home" ]
 271  then
 272         echo "Fin du traitement de home"
 273          exit
 274  fi
 275  
 276  
 277  if [ -e "$dossier_svg/acl/varse3_acl.bz2" -a -z "$acl_default" ]; then
 278      echo -e "$COLPARTIE"
 279      echo "==============================="
 280      [ "$HTML" == "1" ] && echo "<br/>"
 281      echo "Traitements des ACL de /var/se3"
 282      [ "$HTML" == "1" ] && echo "<br/>"
 283      echo "==============================="
 284  
 285      echo -e "$COLTXT"
 286      echo "Restauration du fichier de sauvegarde des ACL:"
 287      echo "   $dossier_svg/acl/varse3_acl.bz2"
 288      echo "(si vous preferez restaurer les ACL par defaut, relancez le script avec le"
 289      echo "parametre 'acl_default')"
 290      cd $dossier_svg
 291      ladate=$(date +"%Y%m%d-%H%M%S")
 292      mkdir -p $dossier_svg/tmp_${ladate}
 293      cd $dossier_svg/tmp_${ladate}
 294      cp $dossier_svg/acl/varse3_acl.bz2 ./
 295      bzip2 -d varse3_acl.bz2
 296      cd /var/se3
 297      setfacl --restore=$dossier_svg/tmp_${ladate}/varse3_acl
 298  else
 299      echo -e "$COLPARTIE"
 300      echo "=============================="
 301      [ "$HTML" == "1" ] && echo "<br/>"
 302      echo "Traitement de /var/se3/Classes"
 303      [ "$HTML" == "1" ] && echo "<br/>"
 304      echo "=============================="
 305      [ "$HTML" == "0" ] && (
 306      echo -e "$COLTXT"
 307      echo "Dans un premier temps, les dossiers de Classes proprement dites vont être"
 308      echo "traitees."
 309      echo "Ensuite, il vous sera propose de retablir aussi les droits et ACL pour les"
 310      echo "dossiers de Classe_grp."
 311      echo -e "$COLCMD"
 312      )
 313      #droits Classes : on utilise le script standard
 314      echo -e "$COLCMD"
 315      /usr/share/se3/scripts/updateClasses.pl -c ALL
 316  
 317  
 318      if ls /var/se3/Classes | grep Classe_grp > /dev/null; then
 319          REPONSE=""
 320          if [ "$auto" = "oui" ]; then
 321              REPONSE="o"
 322          fi
 323          while [ "$REPONSE" != "o" -a "$REPONSE" != "n" ]
 324          do
 325              echo -e "$COLTXT"
 326              echo -e "Voulez-vous retablir les ACL sur les dossiers Classe_grp_*? (${COLCHOIX}o/n${COLTXT}) $COLSAISIE\c "
 327              read REPONSE
 328          done
 329  
 330          if [ "$REPONSE" = "o" ]; then
 331              ls /var/se3/Classes/ | grep Classe_grp_ | sed -e "s/^Classe_grp_//" | while read A
 332              do
 333                  echo -e "$COLTXT"
 334                  echo "Retablissement des droits sur Classe_grp_${A}..."
 335                  echo -e "$COLCMD\c "
 336                  /usr/share/se3/scripts/creer_grpclass.sh $A
 337              done
 338          fi
 339      fi
 340  
 341  
 342      echo -e "$COLPARTIE"
 343      echo "============================"
 344      [ "$HTML" == "1" ] && echo "<br/>"
 345      echo "Traitement de /var/se3/Progs"
 346      [ "$HTML" == "1" ] && echo "<br/>"
 347      echo "============================"
 348  
 349      # Voulez-vous retablir les ACL par defaut sur tout /var/se3/Progs
 350      # Voulez-vous retablir les ACL par defaut sur tout /var/se3/Docs
 351      # /var/se3/Docs/public
 352      # /var/se3/Docs/deploy
 353      # /var/se3/Docs/trombine
 354      [ "$HTML" == "0" ] && (
 355      echo -e "$COLTXT"
 356      echo "Il se peut que vous ayez adapte a vos besoins les ACL dans /var/se3/Progs"
 357      echo "Si c'est le cas, repondez non a la question suivante."
 358      echo "Sinon, des proprios, droits et ACL standards seront remis en place."
 359      )
 360      REPONSE=""
 361      if [ "$auto" = "oui" ]; then
 362          REPONSE="o"
 363      fi
 364      while [ "$REPONSE" != "o" -a "$REPONSE" != "n" ]
 365      do
 366          echo -e "$COLTXT"
 367          echo -e "Voulez-vous retablir les proprios/droits/ACL par defaut"
 368          echo -e "sur tout /var/se3/Progs? (${COLCHOIX}o/n${COLTXT}) $COLSAISIE\c "
 369          read REPONSE
 370      done
 371  
 372      if [ "$REPONSE" = "o" ]; then
 373          echo -e "$COLTXT"
 374          echo "Retablissement des proprios/droits/ACL par defaut sur tout /var/se3/Progs"
 375          echo -e "$COLCMD\c "
 376          chown admin:admins /var/se3/Progs
 377          chmod 775 /var/se3/Progs
 378          # Nettoyage des ACL:
 379          setfacl -b /var/se3/Progs
 380          # Definition des ACL:
 381          setfacl -R -m m:rwx /var/se3/Progs
 382          setfacl -R -m d:m:rwx /var/se3/Progs
 383          setfacl -m g::rx /var/se3/Progs
 384          setfacl -m d:g::rx /var/se3/Progs
 385          setfacl -m o::rx /var/se3/Progs
 386          setfacl -m d:o::rx /var/se3/Progs
 387          setfacl -R -m g:admins:rwx /var/se3/Progs
 388          setfacl -R -m d:g:admins:rwx /var/se3/Progs
 389          # OK
 390  
 391  
 392          chown admin:admins /var/se3/Progs/rw
 393          chmod 775 /var/se3/Progs/rw
 394          setfacl -R -m d:u::rwx /var/se3/Progs/rw
 395          setfacl -R -m d:g::rwx /var/se3/Progs/rw
 396          setfacl -R -m d:o::rwx /var/se3/Progs/rw
 397          # OK 'admins' et mask sont traites recursivement plus haut.
 398  
 399          chown admin:admins /var/se3/Progs/ro
 400          chmod 775 /var/se3/Progs/ro
 401          setfacl -R -m d:u::rwx /var/se3/Progs/ro
 402          setfacl -R -m d:g::rx /var/se3/Progs/ro
 403          setfacl -R -m d:o::rx /var/se3/Progs/ro
 404          # OK 'admins' et mask sont traites recursivement plus haut.
 405  
 406  
 407  
 408          if [ -e "/var/se3/Progs/ro/inventory/deploy" ]; then
 409              # Il semble que le dossier ne soit pas la sur ma version de test...
 410              # Quelles sont les ACL appropriees pour ce dossier?
 411              # Sont-elles heritees de /var/se3/Progs/ro ?
 412              #bidon="oui"
 413              chown -R admin:admins /var/se3/Progs/ro/inventory
 414              setfacl -R -m m:rwx /var/se3/Progs/ro/inventory
 415          fi
 416  
 417  
 418          chown -R admin:admins /var/se3/Progs/install
 419          chmod 771 /var/se3/Progs/install
 420          setfacl -R -m u:www-se3:rx /var/se3/Progs/install
 421          setfacl -R -m d:u:www-se3:rx /var/se3/Progs/install
 422          setfacl -R -m g:admins:rwx /var/se3/Progs/install
 423          setfacl -R -m d:g:admins:rwx /var/se3/Progs/install
 424          setfacl -m g::--- /var/se3/Progs/install/
 425          setfacl -m d:g::--- /var/se3/Progs/install/
 426          setfacl -R -m o::x /var/se3/Progs/install
 427          setfacl -m d:o::--- /var/se3/Progs/install/
 428  
 429  
 430          chown -R admin:admins /var/se3/Progs/install/9x
 431          chmod -R 770 /var/se3/Progs/install/9x
 432          setfacl -R -m u::rwx /var/se3/Progs/install/9x
 433          setfacl -R -m d:u::rwx /var/se3/Progs/install/9x
 434          setfacl -R -m u:www-se3:rx /var/se3/Progs/install/9x
 435          setfacl -R -m d:u:www-se3:rx /var/se3/Progs/install/9x
 436          setfacl -R -m g:admins:rwx /var/se3/Progs/install/9x
 437          setfacl -R -m d:g:admins:rwx /var/se3/Progs/install/9x
 438          setfacl -m g::--- /var/se3/Progs/install/9x
 439          setfacl -m d:g::--- /var/se3/Progs/install/9x
 440  
 441  
 442          chown -R admin:admins /var/se3/Progs/install/xp
 443          chmod -R 770 /var/se3/Progs/install/xp
 444          setfacl -R -m u::rwx /var/se3/Progs/install/xp
 445          setfacl -R -m d:u::rwx /var/se3/Progs/install/xp
 446          setfacl -R -m u:www-se3:rx /var/se3/Progs/install/xp
 447          setfacl -R -m d:u:www-se3:rx /var/se3/Progs/install/xp
 448          setfacl -R -m g:admins:rwx /var/se3/Progs/install/xp
 449          setfacl -R -m d:g:admins:rwx /var/se3/Progs/install/xp
 450          setfacl -m g::--- /var/se3/Progs/install/xp
 451          setfacl -m d:g::--- /var/se3/Progs/install/xp
 452          # Quelques fichiers ont normalement group::r ou group::rx
 453  
 454          chown -R admin:admins /var/se3/Progs/install/xp/Registry
 455  
 456      fi
 457  
 458  
 459      echo -e "$COLPARTIE"
 460      echo "==========================="
 461      [ "$HTML" == "1" ] && echo "<br/>"
 462      echo "Traitement de /var/se3/Docs"
 463      [ "$HTML" == "1" ] && echo "<br/>"
 464      echo "==========================="
 465      [ "$HTML" == "0" ] && (
 466      echo -e "$COLTXT"
 467      echo "Il se peut que vous ayez adapte a vos besoins les ACL dans /var/se3/Docs"
 468      echo "Si c'est le cas, repondez non a la question suivante."
 469      echo "Sinon, des proprios, droits et ACL standards seront remis en place."
 470      )
 471      REPONSE=""
 472      if [ "$auto" = "oui" ]; then
 473          REPONSE="o"
 474      fi
 475      while [ "$REPONSE" != "o" -a "$REPONSE" != "n" ]
 476      do
 477          echo -e "$COLTXT"
 478          echo -e "Voulez-vous retablir les proprios/droits/ACL par defaut"
 479          echo -e "sur tout /var/se3/Docs? (${COLCHOIX}o/n${COLTXT}) $COLSAISIE\c "
 480          read REPONSE
 481      done
 482  
 483      if [ "$REPONSE" = "o" ]; then
 484          echo -e "$COLTXT"
 485          echo "Retablissement des proprios/droits/ACL par defaut sur tout /var/se3/Docs"
 486          echo -e "$COLCMD\c "
 487  
 488          #chown admin:root /var/se3/Docs -R
 489          chown admin:admins /var/se3/Docs
 490          chmod 775 /var/se3/Docs
 491          #setfacl -R -m m:rwx /var/se3/Docs
 492          #setfacl -R -m d:m:rwx /var/se3/Docs
 493          setfacl -R -m g:admins:rwx /var/se3/Docs
 494          setfacl -R -m d:g:admins:rwx /var/se3/Docs
 495          setfacl -m u::rwx /var/se3/Docs
 496          setfacl -m d:u::rwx /var/se3/Docs
 497          setfacl -m g::rx /var/se3/Docs
 498          setfacl -m d:g::rx /var/se3/Docs
 499          setfacl -m o::rx /var/se3/Docs
 500          setfacl -m d:o::rx /var/se3/Docs
 501  
 502          REPONSE=""
 503          if [ "$auto" = "oui" ]; then
 504              REPONSE="o"
 505          fi
 506          while [ "$REPONSE" != "o" -a "$REPONSE" != "n" ]
 507          do
 508              echo -e "$COLTXT"
 509              echo -e "Voulez-vous mettre a 777 les droits recursivement"
 510              echo -e "sur tout le contenu de /var/se3/Docs/public? (${COLCHOIX}o/n${COLTXT}) $COLSAISIE\c "
 511              read REPONSE
 512          done
 513          if [ "$REPONSE" = "o" ]; then
 514              OPT=" -R "
 515          else
 516              OPT=""
 517          fi
 518          echo -e "$COLCMD\c "
 519  
 520          if [ -e /var/www/se3/includes/config.inc.php ]; then
 521              dbhost=`cat /var/www/se3/includes/config.inc.php | grep "dbhost=" | cut -d = -f 2 |cut -d \" -f 2`
 522              dbname=`cat /var/www/se3/includes/config.inc.php | grep "dbname=" | cut -d = -f 2 |cut -d \" -f 2`
 523              dbuser=`cat /var/www/se3/includes/config.inc.php | grep "dbuser=" | cut -d = -f 2 |cut -d \" -f 2`
 524              dbpass=`cat /var/www/se3/includes/config.inc.php | grep "dbpass=" | cut -d = -f 2 |cut -d \" -f 2`
 525          else
 526              echo "Fichier de conf inaccessible"
 527              exit 1
 528          fi
 529  
 530          acces_partage_public=$(echo "SELECT value FROM params WHERE name='autoriser_partage_public';"|mysql -N -h $dbhost -u $dbuser -p$dbpass $dbname)
 531          if [ "$acces_partage_public" != "n" ]; then
 532              # A l'interieur de Docs/public (sauf modif des ACL), tout le monde peut tout faire...
 533              chown $OPT admin:admins /var/se3/Docs/public
 534              # ==================
 535              # Faut-il mettre -R?
 536              chmod $OPT 777 /var/se3/Docs/public
 537              #setfacl -m m:rwx /var/se3/Docs/public
 538              setfacl $OPT -m u::rwx /var/se3/Docs/public
 539              setfacl $OPT -m g::rwx /var/se3/Docs/public
 540              setfacl $OPT -m o::rwx /var/se3/Docs/public
 541              setfacl $OPT -m d:m:rwx /var/se3/Docs/public
 542              setfacl $OPT -m d:u::rwx /var/se3/Docs/public
 543              setfacl $OPT -m d:g::rwx /var/se3/Docs/public
 544              setfacl $OPT -m d:o::rwx /var/se3/Docs/public
 545              # ==================
 546          else
 547              if [ "$OPT" = "-R" ]; then
 548                  /usr/share/se3/scripts/autoriser_partage_public.sh autoriser=n recursif
 549              else
 550                  /usr/share/se3/scripts/autoriser_partage_public.sh autoriser=n
 551              fi
 552          fi
 553  
 554          mkdir -p /var/se3/Docs/deploy
 555          chown admin:www-data /var/se3/Docs/deploy
 556          chmod 770 /var/se3/Docs/deploy
 557          #setfacl -m m:rwx /var/se3/Docs/deploy
 558          setfacl -m u::rwx /var/se3/Docs/deploy
 559          setfacl -m d:u::rwx /var/se3/Docs/deploy
 560          setfacl -m g::rx /var/se3/Docs/deploy
 561          setfacl -m d:g::rx /var/se3/Docs/deploy
 562          setfacl -m o::--- /var/se3/Docs/deploy
 563          setfacl -m d:o::rx /var/se3/Docs/deploy
 564  
 565          mkdir -p /var/se3/Docs/trombine
 566          chmod 700 /var/se3/Docs/trombine
 567          chown admin:admins /var/se3/Docs/trombine
 568          if [ ! -z "$(ls /var/se3/Docs/trombine)" ]; then
 569              chown -R admin:admins /var/se3/Docs/trombine/*
 570          fi
 571          setfacl -R -m g:admins:rwx /var/se3/Docs/trombine
 572          setfacl -R -m g:Profs:rx /var/se3/Docs/trombine
 573          setfacl -R -m d:g:admins:rwx /var/se3/Docs/trombine
 574          setfacl -R -m d:g:Profs:rx /var/se3/Docs/trombine
 575          setfacl -R -m u:www-se3:rx /var/se3/Docs/trombine
 576          setfacl -R -m d:u:www-se3:rx /var/se3/Docs/trombine
 577          setfacl -m u::rwx /var/se3/Docs/trombine
 578          setfacl -m d:u::rwx /var/se3/Docs/trombine
 579          setfacl -m g::rx /var/se3/Docs/trombine
 580          setfacl -m d:g::rx /var/se3/Docs/trombine
 581          setfacl -m o::--- /var/se3/Docs/trombine
 582          setfacl -m d:o::rx /var/se3/Docs/trombine
 583  
 584          if [ ! -z "$(ls /var/se3/Docs/trombine)" ]; then
 585              setfacl -m m::rx /var/se3/Docs/trombine/*
 586              setfacl -m u::rwx /var/se3/Docs/trombine/*
 587              setfacl -m g::rx /var/se3/Docs/trombine/*
 588              setfacl -m o::rx /var/se3/Docs/trombine/*
 589          fi
 590  
 591          mkdir -p /var/se3/Docs/media
 592          chown admin:admins /var/se3/Docs/media
 593          #chmod 755 /var/se3/Docs/media
 594          chmod u+rwx /var/se3/Docs/media
 595          chmod go+rx /var/se3/Docs/media
 596          setfacl -m m:rx /var/se3/Docs/media
 597          if [ -e "/var/se3/Docs/media/fonds_ecran" ]; then
 598              chmod -R 775 /var/se3/Docs/media/fonds_ecran
 599              setfacl -m m:rwx /var/se3/Docs/media/fonds_ecran
 600          fi
 601      fi
 602  
 603  
 604  
 605      echo -e "$COLPARTIE"
 606      echo "==========================="
 607      [ "$HTML" == "1" ] && echo "<br/>"
 608      echo "Traitement de /var/se3/prof"
 609      [ "$HTML" == "1" ] && echo "<br/>"
 610      echo "==========================="
 611  
 612      REPONSE=""
 613      if [ "$auto" = "oui" ]; then
 614          REPONSE="o"
 615      fi
 616      while [ "$REPONSE" != "o" -a "$REPONSE" != "n" ]
 617      do
 618          echo -e "$COLTXT"
 619          echo -e "Voulez-vous retablir les proprios/droits/ACL par defaut"
 620          echo -e "sur tout /var/se3/prof? (${COLCHOIX}o/n${COLTXT}) $COLSAISIE\c "
 621          read REPONSE
 622      done
 623  
 624      if [ "$REPONSE" = "o" ]; then
 625          echo -e "$COLTXT"
 626          echo "Retablissement des proprios/droits/ACL par defaut sur tout /var/se3/prof"
 627          echo -e "$COLCMD\c "
 628          mkdir -p /var/se3/prof
 629          chown admin:Profs /var/se3/prof
 630          chmod -R 770 /var/se3/prof
 631          setfacl -R -m m:rwx /var/se3/prof
 632          setfacl -R -m d:m:rwx /var/se3/prof
 633          setfacl -R -m g:Profs:rwx /var/se3/prof
 634          setfacl -R -m d:g:Profs:rwx /var/se3/prof
 635          setfacl -m u::rwx /var/se3/prof
 636          setfacl -m d:u::rwx /var/se3/prof
 637          setfacl -m g::rwx /var/se3/prof
 638          setfacl -m d:g::rwx /var/se3/prof
 639          setfacl -m o::--- /var/se3/prof
 640          setfacl -m d:o::--- /var/se3/prof
 641      fi
 642  
 643  
 644  
 645      echo -e "$COLPARTIE"
 646      echo "================================="
 647      [ "$HTML" == "1" ] && echo "<br/>"
 648      echo "Traitement de /var/se3/unattended"
 649      [ "$HTML" == "1" ] && echo "<br/>"
 650      echo "================================="
 651  
 652      REPONSE=""
 653      if [ "$auto" = "oui" ]; then
 654          REPONSE="o"
 655      fi
 656      while [ "$REPONSE" != "o" -a "$REPONSE" != "n" ]
 657      do
 658          echo -e "$COLTXT"
 659          echo -e "Voulez-vous retablir les proprios/droits/ACL par defaut"
 660          echo -e "sur tout /var/se3/unattended? (${COLCHOIX}o/n${COLTXT}) $COLSAISIE\c "
 661          read REPONSE
 662      done
 663  
 664      if [ "$REPONSE" = "o" ]; then
 665          echo -e "$COLTXT"
 666          echo "Retablissement des proprios/droits/ACL par defaut sur tout /var/se3/unattended"
 667          echo -e "$COLCMD\c "
 668          chown -R admin:admins /var/se3/unattended
 669          chmod -R 755 /var/se3/unattended
 670          setfacl -R -m u::rwx /var/se3/unattended/install/packages
 671          setfacl -R -m d:u::rwx /var/se3/unattended/install/packages
 672          setfacl -R -m g::rx /var/se3/unattended/install/packages
 673          setfacl -R -m d:g::rx /var/se3/unattended/install/packages
 674          setfacl -R -m o::rx /var/se3/unattended/install/packages
 675          setfacl -R -m d:o::rx /var/se3/unattended/install/packages
 676          setfacl -R -m u:www-se3:rx /var/se3/unattended/install/packages
 677          setfacl -R -m d:u:www-se3:rx /var/se3/unattended/install/packages
 678          setfacl -R -m u:unattend:rx /var/se3/unattended/install/packages
 679          setfacl -R -m d:u:unattend:rx /var/se3/unattended/install/packages
 680          setfacl -R -m m:rx /var/se3/unattended/install/packages
 681          setfacl -R -m d:m:rx /var/se3/unattended/install/packages
 682  
 683          setfacl -R -m u::rwx /var/se3/unattended/install/computers
 684          setfacl -R -m d:u::rwx /var/se3/unattended/install/computers
 685          setfacl -R -m g::rx /var/se3/unattended/install/computers
 686          setfacl -R -m d:g::rx /var/se3/unattended/install/computers
 687          setfacl -R -m o::rx /var/se3/unattended/install/computers
 688          setfacl -R -m d:o::rx /var/se3/unattended/install/computers
 689          setfacl -R -m u:www-se3:rx /var/se3/unattended/install/computers
 690          setfacl -R -m d:u:www-se3:rx /var/se3/unattended/install/computers
 691          setfacl -R -m u:unattend:rwx /var/se3/unattended/install/computers
 692          setfacl -R -m d:u:unattend:rwx /var/se3/unattended/install/computers
 693          setfacl -R -m m:rwx /var/se3/unattended/install/computers
 694          setfacl -R -m d:m:rwx /var/se3/unattended/install/computers
 695  
 696      fi
 697  
 698  
 699  
 700      echo -e "$COLPARTIE"
 701      echo "=============================="
 702      [ "$HTML" == "1" ] && echo "<br/>"
 703      echo "Traitement de /var/se3/drivers"
 704      [ "$HTML" == "1" ] && echo "<br/>"
 705      echo "=============================="
 706  
 707      # Il y a /var/se3/drivers aussi drwxr-xr-x  2 admin   root     6 2006-04-13 19:40 drivers
 708      echo -e "$COLTXT"
 709      echo "Retablissement des proprios/droits/ACL par defaut sur /var/se3/drivers"
 710      echo -e "$COLCMD\c "
 711      chown admin:root /var/se3/drivers
 712      chmod 755 /var/se3/drivers
 713      # Pas d'ACL.
 714  fi
 715  
 716  
 717  
 718  # Scories de la version precedente du script:
 719  #echo -e "$COLINFO"
 720  #echo "Pour retablir les ACL sur le partage Classes pour les profs,"
 721  #echo "lancez un 'Ressources et partages/Rafraichissement des classes'"
 722  #echo "(en niveau Confirme)."
 723  #echo ""
 724  #echo "Pour retablir les ACL sur des templates en cas de delegation de parcs,"
 725  #echo "consultez l'interface Web... et re-deleguez le Parc???"
 726  
 727  
 728  echo -e "$COLPARTIE"
 729  echo "===================="
 730  [ "$HTML" == "1" ] && echo "<br/>"
 731  echo "Lancement de permse3"
 732  [ "$HTML" == "1" ] && echo "<br/>"
 733  echo "===================="
 734  
 735  echo -e "$COLTXT"
 736  echo "Lancement de /usr/share/se3/scripts/permse3"
 737  echo -e "$COLCMD\c "
 738  /usr/share/se3/scripts/permse3 --full
 739  
 740  echo -e "$COLTITRE"
 741  echo "***********"
 742  echo "* Termine *"
 743  echo "***********"
 744  echo -e "$COLTXT"
 745  
 746  


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