[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-domain/root/ -> rejoint_se3_debian_sarge.sh (source)

   1  #!/bin/bash
   2  #
   3  ##### Script permettant de rejoindre un client sarge au serveur SE3#####
   4  #
   5  # Auteur : Mickaël POIRAULT Mickael.Poirault@ac-versailles.fr
   6  #
   7  ## $Id: rejoint_se3_debian_sarge.sh 3657 2009-04-07 23:02:41Z keyser $ ##
   8  
   9  if [ "$1" == "--help" -o "$1" == "-h" ]
  10  then
  11          echo "Permet de faire rejoindre un client sarge au serveur SE3"
  12          echo "Ce script est à lancer sur le client en root"
  13      echo "Les données du serveur SE3 sont :"
  14      echo "###SE3_SERVER### : nom du serveur Se3"
  15      echo "###SE3_IP### : ip du serveur Se3"
  16      echo "###BASE_DN### : base dn de l'annuaire"
  17      echo "###LDAP_SERVER### : addresse du serveur ldap"
  18      echo "###NTPSERVERS### : serveur de temps pour ntpdate"
  19      echo "###NTPOPTIONS### : options pour ntpdate"
  20          echo "Usage : ./rejoint_se3_ubuntu-6.06.sh"
  21      echo "Ce script est distribué selon les termes de la licence GPL"
  22          echo "--help cette aide"
  23  
  24          exit
  25  fi
  26  
  27  # comment rendre le script "cretin-résistant", par Christian Westphal
  28  TEST_CLIENT=`ifconfig | grep ":###SE3_IP### "`
  29  if [ ! -z "$TEST_CLIENT" ]; then
  30      echo "Malheureux... Ce script est a executer sur les clients Linux, pas sur le serveur."
  31      exit
  32  fi
  33  
  34  
  35  [ -e /var/www/se3 ] && echo "Malheureux... Ce script est a executer sur les clients Linux, pas sur le serveur." && exit 1
  36  # On commence par recuperer la date et l'heure pour la sauvegarde des fichiers
  37  
  38  DATE=$(date +%D_%Hh%M | sed -e "s§/§_§g")
  39  
  40  # On met a jour la machine
  41  
  42  apt-get update
  43  apt-get dist-upgrade
  44  
  45  # Installation des paquets nécessaires
  46  
  47  apt-get install --assume-yes libnss-ldap  libpam-ldap lsof libpam-mount smbfs samba-common ntpdate
  48  
  49  # Configuration des fichiers
  50  
  51  # Configuration du fichier /etc/hosts
  52  
  53  cp /etc/hosts /etc/hosts_sauve_$DATE
  54  OK_SE3=`cat /etc/hosts | grep ###SE3_SERVER###`
  55  if [ "$OK_SE3" == "" ]
  56  then
  57      echo "###SE3_IP###    ###SE3_SERVER###" >> /etc/hosts
  58  fi
  59  
  60  # Configuration du fichier /etc/pam_ldap.conf
  61  
  62  cp /etc/pam_ldap.conf /etc/pam_ldap_sauve_$DATE.conf
  63  echo "
  64  # /etc/pam_ldap.conf
  65  # Configuration pour Sambaedu3
  66  
  67  host ###LDAP_SERVER###
  68  base ###BASE_DN###
  69  ldap_version 3
  70  port 389
  71  pam_password md5" > /etc/pam_ldap.conf
  72  
  73  # Configuration du fichier /etc/libnss-ldap.conf
  74  
  75  cp /etc/libnss-ldap.conf /etc/libnss-ldap_sauve_$DATE.conf
  76  echo "
  77  # /etc/libnss-ldap.conf
  78  # Configuration pour Sambaedu3
  79  
  80   @(#)$Id: rejoint_se3_debian_sarge.sh 3657 2009-04-07 23:02:41Z keyser $
  81  
  82  host ###LDAP_SERVER###
  83  base ###BASE_DN###
  84  ldap_version 3
  85  port 389" > /etc/libnss-ldap.conf
  86  
  87  
  88  # Configuration du fichier /etc/nsswitch.conf
  89  
  90  cp /etc/nsswitch.conf /etc/nsswitch_sauve_$DATE.conf
  91  echo "
  92  # /etc/nsswitch.conf
  93  # Configuration pour SambaEdu3
  94  
  95  passwd:         files ldap
  96  group:          files ldap
  97  shadow:         files ldap
  98  
  99  hosts:          files dns
 100  networks:       files
 101  
 102  protocols:      db files
 103  services:       db files
 104  ethers:         db files
 105  rpc:            db files
 106  
 107  netgroup:       nis" > /etc/nsswitch.conf
 108  
 109  # Configuration du fichier /etc/pam.d/login
 110  
 111  cp /etc/pam.d/login /etc/pam.d/login_sauve_$DATE
 112  echo "
 113  # /etc/pam.d/login
 114  # Configuration pour SambaEdu3
 115  
 116  auth       requisite  pam_nologin.so
 117  auth       required   pam_env.so
 118  @include common-auth
 119  @include common-account
 120  @include common-session
 121  session    required   pam_limits.so
 122  @include common-password" > /etc/pam.d/login
 123  
 124  # Configuration du fichier /etc/pam.d/common-auth
 125  
 126  cp /etc/pam.d/common-auth /etc/pam.d/common-auth_sauve_$DATE
 127  echo "
 128  # /etc/pam.d/common-auth
 129  # Configuration pour SambaEdu3
 130  
 131  auth       optional     pam_mount.so
 132  auth       sufficient   pam_ldap.so    use_first_pass
 133  auth       required     pam_unix.so    use_first_pass" > /etc/pam.d/common-auth
 134  
 135  # Configuration du fichier /etc/pam.d/common-account
 136  
 137  cp /etc/pam.d/common-account /etc/pam.d/common-account_sauve_$DATE
 138  echo "
 139  # /etc/pam.d/common-account
 140  # Configuration pour SambaEdu3
 141  
 142  account    sufficient   pam_ldap.so    use_first_pass
 143  account    required     pam_unix.so    use_first_pass" > /etc/pam.d/common-account
 144  
 145  # Configuration du fichier /etc/pam.d/common-session
 146  
 147  cp /etc/pam.d/common-session /etc/pam.d/common-session_sauve_$DATE
 148  echo "
 149  # /etc/pam.d/common-session
 150  # Configuration pour SambaEdu3
 151  
 152  session    optional     pam_mount.so
 153  session    required     pam_unix.so    use_first_pass" > /etc/pam.d/common-session
 154  
 155  # Configuration du fichier /etc/pam.d/common-password
 156  
 157  cp /etc/pam.d/common-password /etc/pam.d/common-password_sauve_$DATE
 158  echo "
 159  # /etc/pam.d/common-password
 160  # Configuration pour SambaEdu3
 161  
 162  password   required     pam_unix.so    nullok obscure min=8 md5" > /etc/pam.d/common-password
 163  
 164  # Configuration du fichier /etc/security/pam_mount.conf
 165  
 166  cp /etc/security/pam_mount.conf /etc/security/pam_mount_sauve_$DATE.conf
 167  
 168  echo "
 169  # /etc/security/pam_mount.conf
 170  # Configuration pour SambaEdu3
 171  
 172  debug 0
 173  mkmountpoint 1
 174  fsckloop /dev/loop7
 175  options_require nosuid,nodev
 176  
 177  lsof /usr/sbin/lsof %(MNTPT)
 178  fsck /sbin/fsck -p %(FSCKTARGET)
 179  losetup /sbin/losetup -p0 \"%(before=\\\"-e\\\" CIPHER)\" \"%(before=\\\"-k\\\" KEYBITS)\" %(FSCKLOOP) %(VOLUME)
 180  unlosetup /sbin/losetup -d %(FSCKLOOP)
 181  #cifsmount /bin/mount -t cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o \"username=%(USER)%(before=\\\",\\\" OPTIONS)\"
 182  cifsmount /sbin/mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o \"username=%(USER)%(before=\\\",\\\" OPTIONS)\"
 183  smbmount /usr/bin/smbmount   //%(SERVER)/%(VOLUME) %(MNTPT) -o \"username=%(USER)%(before=\\\",\\\" OPTIONS)\"
 184  #ncpmount /usr/bin/ncpmount   %(SERVER)/%(USER) %(MNTPT) -o \"pass-fd=0,volume=%(VOLUME)%(before=\\\",\\\" OPTIONS)\"
 185  #ncpumount /usr/bin/ncpumount %(MNTPT)
 186  # Linux supports lazy unmounting (-l).  May be dangerous for encrypted volumes.
 187  # May also break loopback mounts because loopback devices are not freed.
 188  # Need to unmount mount point not volume to support SMB mounts, etc.
 189  # umount   /bin/umount %(MNTPT)
 190  umount /usr/sbin/umountH.sh %(MNTPT)
 191  # On OpenBSD try \"/usr/local/bin/mount_ehd\" (included in pam_mount package).
 192  #lclmount /bin/mount -p0 %(VOLUME) %(MNTPT) \"%(before=\\\"-o\\\" OPTIONS)\"
 193  #cryptmount /bin/mount -t crypt \"%(before=\\\"-o\\\" OPTIONS)\" %(VOLUME) %(MNTPT)
 194  #nfsmount /bin/mount %(SERVER):%(VOLUME) %(MNTPT) \"%(before=\\\"-o\\\" OPTIONS)\"
 195  # --bind may be a Linuxism.  FIXME: find BSD equivalent.
 196  #mntagain /bin/mount --bind %(PREVMNTPT) %(MNTPT)
 197  #mntcheck /bin/mount # For BSD's (don't have /etc/mtab)
 198  #pmvarrun /usr/sbin/pmvarrun -u %(USER) -d -o %(OPERATION)
 199  
 200  #volume * cifs ###SE3_SERVER### netlogon /home/netlogon mapchars,serverino,nobrl,iocharset=iso8859-15 - -
 201  volume * cifs ###SE3_SERVER### & /home/& uid=&,gid=&,mapchars,serverino,nobrl,iocharset=iso8859-15 - -
 202  volume * smb ###SE3_SERVER### Classes /home/&/Desktop/Classes uid=&,gid=&,iocharset=iso8859-15 - -
 203  #volume * cifs ###SE3_SERVER### Classes /home/&/Desktop/Classes uid=&,gid=&,mapchars,serverino,nobrl,noperm,iocharset=iso8859-15 - -
 204  volume * smb ###SE3_SERVER### Progs /home/&/Progs uid=&,gid=&,iocharset=iso8859-15 - -
 205  #volume * cifs ###SE3_SERVER### Progs /home/&/Progs uid=&,gid=&,mapchars,serverino,nobrl,noperm,iocharset=iso8859-15 - -
 206  volume * smb ###SE3_SERVER### Docs /home/&/Desktop/Partages uid=&,gid=&,iocharset=iso8859-15 - -
 207  #volume * cifs ###SE3_SERVER### Docs /home/&/Desktop/Partages uid=&,gid=&,mapchars,serverino,nobrl,noperm,iocharset=iso8859-15 - - " > /etc/security/pam_mount.conf
 208  
 209  # Création du script de démontage des lecteurs réseaux : umountH.sh
 210  
 211  touch /usr/sbin/umountH.sh
 212  chmod +x /usr/sbin/umountH.sh
 213  echo "
 214  #!/bin/bash
 215  #
 216  ##### Script permettant de démonter correctement le /home/user#####
 217  #
 218  # Auteur : Mickaël POIRAULT Mickael.Poirault@ac-versailles.fr
 219  #
 220  
 221  if [ \"\$1\" == \"--help\" -o \"\$1\" == \"-h\" ]
 222  then
 223          echo \"Permet de démonter correctement le /home/user\"
 224          echo \"Ce script est lancé automatiquement par pam_mount\"
 225          echo \"Usage : /usr/sbin/umountH.sh /home/user\"
 226      echo \"Ce script est distribué selon les termes de la licence GPL\"
 227          echo \"--help cette aide\"
 228  
 229          exit
 230  fi
 231  
 232  # Détermination du répertoire à démonter
 233  homeUSER=\$1
 234  
 235  # Attendre la fin des precessus qui utilisent le répertoire à démonter
 236  until [ ``\`/usr/sbin/lsof \$homeUSER | wc -l\``` = \"0\" ]
 237          do
 238                  sleep 1
 239  done
 240  
 241  # Démontage du repertoire
 242  /bin/umount \$homeUSER" > /usr/sbin/umountH.sh
 243  
 244  # Configuration du fichier /etc/login.defs
 245  
 246  cp /etc/login.defs /etc/login_sauve_$DATE.defs
 247  perl -pi -e "s/CLOSE_SESSIONS no/CLOSE_SESSIONS yes/" /etc/login.defs
 248  
 249  # Configuration du fichier /etc/default/ntpdate
 250  
 251  cp /etc/default/ntpdate /etc/default/ntpdate_sauve_$DATE
 252  echo "
 253  # /etc/default/ntpdate
 254  # Configuration pour SambaEdu3
 255  # servers to check.   (Separate multiple servers with spaces.)
 256  NTPSERVERS=\"###SE3_SERVER###\"
 257  
 258  # additional options for ntpdate
 259  ###NTPOPTIONS###" > /etc/default/ntpdate
 260  
 261  
 262  # Fin de la configuration
 263  echo "Fin de l'installation."
 264  echo -e "\033[1;31m"
 265  echo "ATTENTION : Seul les comptes ayant un shell peuvent se connecter"
 266  echo -e "\033[1;37m"


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