[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-clients-linux/home/netlogon/clients-linux/.defaut/ -> reconfigure.bash (source)

   1  #!/bin/bash
   2  
   3  REPERTOIRE_INSTALLATION="/home/netlogon/clients-linux"
   4  REPERTOIRE_BIN="$REPERTOIRE_INSTALLATION/bin"
   5  SMB_CIFSFS="/etc/samba/smb_CIFSFS.conf"
   6  LOGON="$REPERTOIRE_INSTALLATION/bin/logon"
   7  REPERTOIRE_DEFAUT="$REPERTOIRE_INSTALLATION/.defaut"
   8  LOGON_DEFAUT="$REPERTOIRE_DEFAUT/logon"
   9  LOGON_PERSO="$REPERTOIRE_INSTALLATION/bin/logon_perso"
  10  LOGON_PARAM_FOND_ECRAN="$REPERTOIRE_BIN/logon_param_fond_ecran"
  11  GENERE_PARAM_FOND_ECRAN="$REPERTOIRE_BIN/genere_param_fonds_clients_linux.sh"
  12  
  13  # Le programme awk injectera le contenu du fichier LOGON_PERSO
  14  # qui devra exister en amont.
  15  PROG_AWK_INSERTION='{ 
  16      if ($0 ~ /^### LOGON_PERSO ###/) {
  17          system("cat \"'"$LOGON_PERSO"'\"")
  18      }
  19      else if ($0 ~ /^### LOGON_PARAM_FOND_ECRAN ###/) {
  20          system("cat \"'"$LOGON_PARAM_FOND_ECRAN"'\"")
  21      } else { 
  22          print $0 
  23      }
  24  }'
  25  
  26  # Fonction qui configure correctement les droits sur les
  27  # fichiers du répertoire d'installation.
  28  function restaurer_droits ()
  29  {
  30      # On met en place des droits cohérents sur les répertoires
  31      # et sur les fichiers.
  32      chown -R "admin:admins" "$REPERTOIRE_INSTALLATION"
  33      chmod -R "u=rwx,g=rx,o=rx,u-s,g-s,o-t" "$REPERTOIRE_INSTALLATION"
  34      # Pour les fichiers, on enlève le droit x pour tout le monde.
  35      find "$REPERTOIRE_INSTALLATION" -type f -exec chmod "a-x" "{}" \;
  36      
  37      # Le répertoire bin/ contient des exécutables.
  38      for f in "$REPERTOIRE_BIN/"*; do
  39          [ "$f" = "$REPERTOIRE_BIN/*" ] && continue
  40          chmod u+x "$f"
  41      done
  42      
  43      # Pour rendre le contenu du répertoire inaccessible sur les clients
  44      # sauf par admin et root.
  45      chmod 750 "$REPERTOIRE_INSTALLATION"
  46      
  47      # Le fichier SMB_CIFSFS.
  48      chown "root:root" "$SMB_CIFSFS"
  49      chmod 644 "$SMB_CIFSFS"
  50  }
  51  
  52  
  53  echo ""
  54  if [ -e "$GENERE_PARAM_FOND_ECRAN" ]; then
  55      echo "Generation de logon_param_fond_ecran..."
  56      chmod +x "$GENERE_PARAM_FOND_ECRAN"
  57      $GENERE_PARAM_FOND_ECRAN
  58      if [ -e "$LOGON_PARAM_FOND_ECRAN" ]; then
  59          echo "Fichier $LOGON_PARAM_FOND_ECRAN genere."
  60      else
  61          echo "Aucun fichier $LOGON_PARAM_FOND_ECRAN n'a ete genere."
  62              sleep 10
  63      fi
  64  fi
  65  
  66  
  67  echo ""
  68  echo "Injection du contenu de logon_perso dans le script de logon..."
  69  if awk "$PROG_AWK_INSERTION" "$LOGON_DEFAUT" > "$LOGON"; then
  70      echo "Ok!"
  71      sleep 0.5
  72  else
  73      echo "Erreur!"
  74      sleep 20
  75  fi
  76  
  77  
  78  echo ""
  79  echo "Restauration des droits du répertoire $REPERTOIRE_INSTALLATION"
  80  echo "sur le serveur..."
  81  
  82  if restaurer_droits; then
  83      echo "Ok!"
  84      sleep 1
  85  else
  86      echo "Erreur!"
  87      sleep 20
  88  fi
  89  
  90  


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