[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-domain/root/ -> rejoint_se3_ubuntu-6.sh (source)

   1  #!/bin/bash
   2  #
   3  ##### Script permettant de rejoindre un client ubuntu-6.06 au serveur SE3#####
   4  #
   5  # Auteur : Mickaël POIRAULT Mickael.Poirault@ac-versailles.fr
   6  # Adaptation ubuntu 6.10 Philippe Chadefaux
   7  #
   8  ## $Id: rejoint_se3_ubuntu-6.sh 3657 2009-04-07 23:02:41Z keyser $ ##
   9  
  10  if [ "$1" == "--help" -o "$1" == "-h" ]
  11  then
  12      echo "Permet de faire rejoindre un client ubuntu-6.06 au serveur SE3"
  13      echo "Ce script est à lancer sur le client en root"
  14      echo "Les données du serveur SE3 sont :"
  15      echo "###SE3_SERVER### : nom du serveur Se3"
  16      echo "###SE3_IP### : ip du serveur Se3"
  17      echo "###BASE_DN### : base dn de l'annuaire"
  18      echo "###LDAP_SERVER### : addresse du serveur ldap"
  19      echo "###NTPSERVERS### : serveur de temps pour ntpdate"
  20      echo "###NTPOPTIONS### : options pour ntpdate"
  21      echo "Usage : ./rejoint_se3_ubuntu-6.06.sh"
  22      echo "Ce script est distribué selon les termes de la licence GPL"
  23      echo "--help cette aide"
  24  
  25      exit
  26  fi
  27  
  28  # comment rendre le script "cretin-résistant", par Christian Westphal
  29  TEST_CLIENT=`ifconfig | grep ":###SE3_IP### "`
  30  if [ ! -z "$TEST_CLIENT" ]; then
  31      echo "Malheureux... Ce script est a executer sur les clients Linux, pas sur le serveur."
  32      exit
  33  fi
  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 récupérer la date et l'heure pour la sauvegarde des fichiers
  37  
  38  DATE=$(date +%D_%Hh%M | sed -e "s§/§_§g")
  39  
  40  # On modifie le fichier /etc/apt/sources.list
  41  
  42  cp /etc/apt/sources.list /etc/apt/sources_sauve_$DATE.list
  43  perl -pi -e "s&deb cdrom&# deb cdrom&" /etc/apt/sources.list
  44  perl -pi -e 's&^# deb http://(.*)universe$&deb http://$1 universe&' /etc/apt/sources.list
  45  perl -pi -e 's&^# deb-src http://(.*)universe$&deb-src http://$1 universe&' /etc/apt/sources.list
  46  
  47  # On met à jour la machine
  48  echo "Mise à jour de la machine"
  49  
  50  # probleme de lock
  51  if [ -e "/var/lib/dpkg/lock" ]
  52  then
  53      rm -f /var/lib/dpkg/lock
  54  fi
  55  
  56  apt-get update
  57  apt-get dist-upgrade
  58  
  59  # Installation des paquets nécessaires
  60  echo "Installation des paquets nécessaires"
  61  echo "Ne rien remplir, les fichiers sont configurés automatiquement après"
  62  apt-get install --assume-yes libnss-ldap  libpam-ldap lsof libpam-mount smbfs samba-common ntpdate
  63  
  64  # Configuration des fichiers
  65  
  66  echo "Configuration"
  67  
  68  cp /etc/hosts /etc/hosts_sauve_$DATE
  69  OK_SE3=`cat /etc/hosts | grep ###SE3_SERVER###`
  70  if [ "$OK_SE3" == "" ]
  71  then
  72      echo "###SE3_IP###    ###SE3_SERVER###" >> /etc/hosts
  73  fi
  74  
  75  TLS_OK="###TLS###"
  76  if [ "$TLS_OK" = "1" ]
  77  then
  78      echo "Souhaitez vous activer TLS sur LDAP"
  79      echo "Votre serveur semble le permettre [o/n]"
  80      read REPONSE
  81      while [ "$REPONSE" != "o" -a "$REPONSE" != "n" ]
  82      do
  83          echo "Souhaitez vous activer TLS sur LDAP"
  84          echo "Votre serveur semble le permettre [o/n]"
  85          read REPONSE
  86      done
  87  fi
  88  
  89  # Configuration du fichier /etc/pam_ldap.conf
  90  
  91  cp /etc/pam_ldap.conf /etc/pam_ldap_sauve_$DATE.conf
  92  echo "
  93  # /etc/pam_ldap.conf
  94  # Configuration pour Sambaedu3
  95  
  96  host ###LDAP_SERVER###
  97  base ###BASE_DN###
  98  ldap_version 3
  99  port 389
 100  bind_policy soft
 101  pam_password md5" > /etc/pam_ldap.conf
 102  
 103  if [ "$REPONSE" = "o" -o "$REPONSE" = "O" ]
 104  then
 105  echo "
 106  ssl start_tls
 107  tls_checkpeer no" >> /etc/pam_ldap.conf
 108  fi
 109  
 110  # Configuration du fichier /etc/libnss-ldap.conf
 111  
 112  cp /etc/libnss-ldap.conf /etc/libnss-ldap_sauve_$DATE.conf
 113  echo "
 114  # /etc/libnss-ldap.conf
 115  # Configuration pour Sambaedu3
 116  host ###LDAP_SERVER###
 117  base ###BASE_DN###
 118  ldap_version 3
 119  port 389
 120  bind_policy soft" > /etc/libnss-ldap.conf
 121  
 122  if [ "$REPONSE" = "O" -o "$REPONSE" = "o" ]
 123  then
 124  echo "
 125  ssl start_tls
 126  tls_checkpeer no" >> /etc/libnss-ldap.conf
 127  fi
 128  
 129  # Configuration du fichier /etc/nsswitch.conf
 130  
 131  cp /etc/nsswitch.conf /etc/nsswitch_sauve_$DATE.conf
 132  echo "
 133  # /etc/nsswitch.conf
 134  # Configuration pour SambaEdu3
 135  
 136  passwd:         files ldap
 137  group:          files ldap
 138  shadow:         files ldap
 139  
 140  hosts:          files dns
 141  networks:       files
 142  
 143  protocols:      db files
 144  services:       db files
 145  ethers:         db files
 146  rpc:            db files
 147  
 148  netgroup:       nis" > /etc/nsswitch.conf
 149  
 150  # Configuration du fichier /etc/pam.d/login
 151  
 152  cp /etc/pam.d/login /etc/pam.d/login_sauve_$DATE
 153  echo "
 154  # /etc/pam.d/login
 155  # Configuration pour SambaEdu3
 156  
 157  auth    requisite    pam_securetty.so
 158  auth    requisite    pam_nologin.so
 159  session    required    pam_env.so readenv=1
 160  @include common-auth
 161  @include common-account
 162  @include common-session
 163  session    required    pam_limits.so
 164  session    optional    am_lastlog.so
 165  session    optional    pam_motd.so
 166  session    optional    pam_mail.so standard
 167  @include common-password" > /etc/pam.d/login
 168  
 169  # Configuration du fichier /etc/pam.d/common-auth
 170  
 171  cp /etc/pam.d/common-auth /etc/pam.d/common-auth_sauve_$DATE
 172  echo "
 173  # /etc/pam.d/common-auth
 174  # Configuration pour SambaEdu3
 175  
 176  auth    optional    pam_group.so
 177  auth    optional    pam_mount.so
 178  auth    sufficient    pam_ldap.so    use_first_pass
 179  auth    required    pam_unix.so    use_first_pass" > /etc/pam.d/common-auth
 180  
 181  # Configuration du fichier /etc/pam.d/common-account
 182  
 183  cp /etc/pam.d/common-account /etc/pam.d/common-account_sauve_$DATE
 184  echo "
 185  # /etc/pam.d/common-account
 186  # Configuration pour SambaEdu3
 187  
 188  account    sufficient    pam_ldap.so    use_first_pass
 189  account    required    pam_unix.so    use_first_pass" > /etc/pam.d/common-account
 190  
 191  # Configuration du fichier /etc/pam.d/common-session
 192  
 193  cp /etc/pam.d/common-session /etc/pam.d/common-session_sauve_$DATE
 194  echo "
 195  # /etc/pam.d/common-session
 196  # Configuration pour SambaEdu3
 197  
 198  session    optional    pam_mount.so
 199  session    required    pam_unix.so    use_first_pass" > /etc/pam.d/common-session
 200  
 201  # Configuration du fichier /etc/pam.d/common-password
 202  
 203  cp /etc/pam.d/common-password /etc/pam.d/common-password_sauve_$DATE
 204  echo "
 205  # /etc/pam.d/common-password
 206  # Configuration pour SambaEdu3
 207  
 208  password    required    pam_unix.so    nullok obscure min=8 md5" > /etc/pam.d/common-password
 209  
 210  # Configuration du fichier /etc/pam.d/sudo
 211  
 212  cp /etc/pam.d/sudo /etc/pam.d/sudo_sauve_$DATE
 213  echo "
 214  # /etc/pam.d/sudo
 215  # Configuration pour SambaEdu3
 216  
 217  auth    required    pam_unix.so    nullok_secure
 218  @include common-account" > /etc/pam.d/sudo
 219  
 220  # Configuration du fichier /etc/security/group.conf
 221  
 222  cp /etc/security/group.conf /etc/security/group_sauve_$DATE.conf
 223  echo "
 224  # /etc/security/group.conf
 225  # Configuration pour SambaEdu3
 226  
 227  gdm;*;*;Al0000-2400;floppy,cdrom,audio,video,plugdev
 228  kdm;*;*;Al0000-2400;floppy,cdrom,audio,video,plugdev" > /etc/security/group.conf
 229  
 230  # Configuration du fichier /etc/security/pam_mount.conf
 231  
 232  cp /etc/security/pam_mount.conf /etc/security/pam_mount_sauve_$DATE.conf
 233  
 234  echo "
 235  # /etc/security/pam_mount.conf
 236  # Configuration pour SambaEdu3
 237  
 238  debug 0
 239  mkmountpoint 1
 240  fsckloop /dev/loop7
 241  options_allow   nosuid,nodev,loop,encryption,fsck
 242  options_require nosuid,nodev
 243  
 244  lsof /usr/sbin/lsof %(MNTPT)
 245  fsck /sbin/fsck -p %(FSCKTARGET)
 246  losetup /sbin/losetup -p0 \"%(before=\\\"-e\\\" CIPHER)\" \"%(before=\\\"-k\\\" KEYBITS)\" %(FSCKLOOP) %(VOLUME)
 247  unlosetup /sbin/losetup -d %(FSCKLOOP)
 248  #cifsmount /bin/mount -t cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o \"username=%(USER)%(before=\\\",\\\" OPTIONS)\"
 249  cifsmount /sbin/mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o \"username=%(USER)%(before=\\\",\\\" OPTIONS)\"
 250  #smbmount /usr/bin/smbmount   //%(SERVER)/%(VOLUME) %(MNTPT) -o \"username=%(USER)%(before=\\\",\\\" OPTIONS)\"
 251  #ncpmount /usr/bin/ncpmount   %(SERVER)/%(USER) %(MNTPT) -o \"pass-fd=0,volume=%(VOLUME)%(before=\\\",\\\" OPTIONS)\"
 252  #smbumount /usr/bin/smbumount %(MNTPT)
 253  #ncpumount /usr/bin/ncpumount %(MNTPT)
 254  # Linux supports lazy unmounting (-l).  May be dangerous for encrypted volumes.
 255  # May also break loopback mounts because loopback devices are not freed.
 256  # Need to unmount mount point not volume to support SMB mounts, etc.
 257  umount /usr/sbin/umountH.sh %(MNTPT)
 258  # On OpenBSD try \"/usr/local/bin/mount_ehd\" (included in pam_mount package).
 259  #lclmount /bin/mount -p0 -t %(FSTYPE) %(VOLUME) %(MNTPT) \"%(before=\\\"-o\\\" OPTIONS)\"
 260  #cryptmount /bin/mount -t crypt \"%(before=\\\"-o\\\" OPTIONS)\" %(VOLUME) %(MNTPT)
 261  #nfsmount /bin/mount %(SERVER):%(VOLUME) %(MNTPT) \"%(before=\\\"-o\\\" OPTIONS)\"
 262  # For BSD: mntagain mount_null %(PREVMNTPT) %(MNTPT)
 263  # For Solaris: mntagain mount -F lofs %(PREVMNTPT) %(MNTPT)
 264  #mntcheck /bin/mount # For BSD's (don't have /etc/mtab)
 265  #pmvarrun /usr/sbin/pmvarrun -u %(USER) -d -o %(OPERATION)
 266  
 267  #volume * cifs ###SE3_SERVER### netlogon /home/netlogon mapchars,serverino,nobrl,iocharset=iso8859-15 - -
 268  volume * cifs ###SE3_SERVER### & /home/& uid=&,gid=root,mapchars,serverino,nobrl,iocharset=iso8859-15 - -
 269  volume * cifs ###SE3_SERVER### Classes /home/&/Desktop/Classes uid=&,gid=root,mapchars,serverino,nobrl,noperm,iocharset=iso8859-15 - -
 270  volume * cifs ###SE3_SERVER### Progs /home/&/Progs uid=&,gid=root,mapchars,serverino,nobrl,noperm,iocharset=iso8859-15 - -
 271  volume * cifs ###SE3_SERVER### Docs /home/&/Desktop/Partages uid=&,gid=root,mapchars,serverino,nobrl,noperm,iocharset=iso8859-15 - - " > /etc/security/pam_mount.conf
 272  
 273  # Création du script de démontage des lecteurs réseaux : umountH.sh
 274  
 275  touch /usr/sbin/umountH.sh
 276  chmod +x /usr/sbin/umountH.sh
 277  echo "
 278  #!/bin/bash
 279  #
 280  ##### Script permettant de démonter correctement le /home/user#####
 281  #
 282  # Auteur : Mickaël POIRAULT Mickael.Poirault@ac-versailles.fr
 283  #
 284  
 285  if [ \"\$1\" == \"--help\" -o \"\$1\" == \"-h\" ]
 286  then
 287          echo \"Permet de démonter correctement le /home/user\"
 288          echo \"Ce script est lancé automatiquement par pam_mount\"
 289          echo \"Usage : /usr/sbin/umountH.sh /home/user\"
 290      echo \"Ce script est distribué selon les termes de la licence GPL\"
 291          echo \"--help cette aide\"
 292  
 293          exit
 294  fi
 295  
 296  # Détermination du répertoire à démonter
 297  homeUSER=\$1
 298  
 299  # Attendre la fin des processus qui utilisent le répertoire à démonter
 300  until [ ``\`/usr/sbin/lsof \$homeUSER | wc -l\``` = \"0\" ]
 301          do
 302                  sleep 1
 303  done
 304  
 305  # Démontage du repertoire
 306  /bin/umount \$homeUSER" > /usr/sbin/umountH.sh
 307  
 308  # Configuration du fichier /etc/default/ntpdate
 309  
 310  cp /etc/default/ntpdate /etc/default/ntpdate_sauve_$DATE
 311  echo "
 312  # /etc/default/ntpdate
 313  # Configuration pour SambaEdu3
 314  # servers to check.   (Separate multiple servers with spaces.)
 315  NTPSERVERS=\"###SE3_SERVER###\"
 316  
 317  # additional options for ntpdate
 318  ###NTPOPTIONS###" > /etc/default/ntpdate
 319  
 320  # Fin de la configuration
 321  echo "Fin de l'installation."
 322  echo "ATTENTION : Seul les comptes ayant un shell peuvent se connecter"
 323  echo ""
 324  echo "Vous devez configurer les locale pour être compatible avec Se3"
 325  echo "pour cela faire un apt-get install locale et lire la doc sur www.sambaedu.org"


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