[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

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

   1  #!/bin/bash
   2  #
   3  ##### Script permettant de rejoindre un client etch au serveur SE3#####
   4  #
   5  # Auteur : Mickaël POIRAULT Mickael.Poirault@ac-versailles.fr
   6  #
   7  # Adaptation du script à une Debian ETCH: Stephane Boireau (ac-rouen.fr)
   8  #
   9  ## $Id: rejoint_se3_debian_etch.sh $ ##
  10  
  11  SE3_SERVER="###SE3_SERVER###"
  12  SE3_IP="###SE3_IP###"
  13  BASE_DN="###BASE_DN###"
  14  LDAP_SERVER="###LDAP_SERVER###"
  15  NTPSERVERS="###NTPSERVERS###"
  16  NTPOPTIONS="###NTPOPTIONS###"
  17  
  18  #Couleurs
  19  COLTITRE="\033[1;35m"    # Rose
  20  COLPARTIE="\033[1;34m"    # Bleu
  21  
  22  COLTXT="\033[0;37m"    # Gris
  23  COLCHOIX="\033[1;33m"    # Jaune
  24  COLDEFAUT="\033[0;33m"    # Brun-jaune
  25  COLSAISIE="\033[1;32m"    # Vert
  26  
  27  COLCMD="\033[1;37m"    # Blanc
  28  
  29  COLERREUR="\033[1;31m"    # Rouge
  30  COLINFO="\033[0;36m"    # Cyan
  31  
  32  
  33  if [ "$1" == "--help" -o "$1" == "-h" ]; then
  34      echo -e "$COLINFO"
  35      echo "Permet de faire rejoindre un client debian etch au serveur SE3."
  36      echo "Ce script est à lancer sur le client en root."
  37      echo "Les données du serveur SE3 sont :"
  38      echo "  $SE3_SERVER : nom du serveur Se3"
  39      echo "  $SE3_IP : ip du serveur Se3"
  40      echo "  $BASE_DN : base dn de l'annuaire"
  41      echo "  $LDAP_SERVER : addresse du serveur ldap"
  42      echo "  $NTPSERVERS : serveur de temps pour ntpdate"
  43      echo "  $NTPOPTIONS : options pour ntpdate"
  44      echo "Usage : ./$0"
  45      echo "Ce script est distribué selon les termes de la licence GPL"
  46      echo "--help cette aide"
  47  
  48      echo -e "$COLTXT"
  49      exit
  50  fi
  51  
  52  # comment rendre le script "cretin-résistant", par Christian Westphal
  53  TEST_CLIENT=`ifconfig | grep ":$SE3_IP "`
  54  if [ ! -z "$TEST_CLIENT" ]; then
  55      echo "Malheureux... Ce script est a executer sur les clients Linux, pas sur le serveur."
  56      exit
  57  fi
  58  
  59  
  60  [ -e /var/www/se3 ] && echo "Malheureux... Ce script est a executer sur les clients Linux, pas sur le serveur." && exit 1
  61  # On commence par recuperer la date et l'heure pour la sauvegarde des fichiers
  62  
  63  DATE=$(date +%D_%Hh%M | sed -e "s§/§_§g")
  64  
  65  # On met a jour la machine
  66  echo -e "$COLPARTIE"
  67  echo "Mise à jour de la machine..."
  68  echo -e "$COLCMD\c"
  69  apt-get update
  70  apt-get dist-upgrade
  71  
  72  # Installation des paquets nécessaires
  73  
  74  echo -e "$COLPARTIE"
  75  echo "Installation des paquets nécessaires:"
  76  echo -e "$COLTXT"
  77  echo "Ne rien remplir, les fichiers sont configurés/modifiés automatiquement après..."
  78  echo -e "$COLCMD\c"
  79  apt-get install --assume-yes libnss-ldap  libpam-ldap lsof libpam-mount smbfs samba-common ntpdate
  80  
  81  # Configuration des fichiers
  82  echo -e "$COLPARTIE"
  83  echo "Configuration des fichiers..."
  84  
  85  
  86  # Configuration du fichier /etc/hosts
  87  echo -e "$COLTXT"
  88  echo "Configuration du fichier /etc/hosts"
  89  echo -e "$COLCMD\c"
  90  cp /etc/hosts /etc/hosts_sauve_$DATE
  91  OK_SE3=`cat /etc/hosts | grep $SE3_SERVER`
  92  if [ "$OK_SE3" == "" ]; then
  93      echo "$SE3_IP    $SE3_SERVER" >> /etc/hosts
  94  fi
  95  
  96  
  97  # Configuration du fichier /etc/pam_ldap.conf
  98  echo -e "$COLTXT"
  99  echo "Configuration du fichier /etc/pam_ldap.conf"
 100  echo -e "$COLCMD\c"
 101  cp /etc/pam_ldap.conf /etc/pam_ldap_sauve_$DATE.conf
 102  echo "
 103  # /etc/pam_ldap.conf
 104  # Configuration pour Sambaedu3
 105  
 106  host $LDAP_SERVER
 107  base $BASE_DN
 108  ldap_version 3
 109  port 389
 110  pam_password md5" > /etc/pam_ldap.conf
 111  
 112  
 113  # Configuration du fichier /etc/libnss-ldap.conf
 114  echo -e "$COLTXT"
 115  echo "Configuration du fichier /etc/libnss-ldap.conf"
 116  echo -e "$COLCMD\c"
 117  cp /etc/libnss-ldap.conf /etc/libnss-ldap_sauve_$DATE.conf
 118  echo "
 119  # /etc/libnss-ldap.conf
 120  # Configuration pour Sambaedu3
 121  
 122   @(#)\$Id: rejoint_se3_debian_etch.sh $
 123  
 124  host $LDAP_SERVER
 125  base $BASE_DN
 126  ldap_version 3
 127  port 389" > /etc/libnss-ldap.conf
 128  
 129  
 130  # Configuration du fichier /etc/nsswitch.conf
 131  echo -e "$COLTXT"
 132  echo "Configuration du fichier /etc/nsswitch.conf"
 133  echo -e "$COLCMD\c"
 134  cp /etc/nsswitch.conf /etc/nsswitch_sauve_$DATE.conf
 135  echo "
 136  # /etc/nsswitch.conf
 137  # Configuration pour SambaEdu3
 138  
 139  passwd:         files ldap
 140  group:          files ldap
 141  shadow:         files ldap
 142  
 143  hosts:          files dns
 144  networks:       files
 145  
 146  protocols:      db files
 147  services:       db files
 148  ethers:         db files
 149  rpc:            db files
 150  
 151  netgroup:       nis" > /etc/nsswitch.conf
 152  
 153  
 154  # Configuration du fichier /etc/pam.d/login
 155  echo -e "$COLTXT"
 156  echo "Configuration du fichier /etc/pam.d/login"
 157  echo -e "$COLCMD\c"
 158  cp /etc/pam.d/login /etc/pam.d/login_sauve_$DATE
 159  echo "
 160  # /etc/pam.d/login
 161  # Configuration pour SambaEdu3
 162  
 163  auth       requisite  pam_nologin.so
 164  auth       required   pam_env.so
 165  @include common-auth
 166  @include common-account
 167  @include common-session
 168  session    required   pam_limits.so
 169  @include common-password" > /etc/pam.d/login
 170  
 171  
 172  # Configuration du fichier /etc/pam.d/common-auth
 173  echo -e "$COLTXT"
 174  echo "Configuration du fichier /etc/pam.d/common-auth"
 175  echo -e "$COLCMD\c"
 176  cp /etc/pam.d/common-auth /etc/pam.d/common-auth_sauve_$DATE
 177  echo "
 178  # /etc/pam.d/common-auth
 179  # Configuration pour SambaEdu3
 180  
 181  auth       optional     pam_group.so
 182  auth       optional     pam_mount.so
 183  auth       sufficient   pam_ldap.so    use_first_pass
 184  auth       required     pam_unix.so    use_first_pass" > /etc/pam.d/common-auth
 185  
 186  
 187  # Configuration du fichier /etc/pam.d/common-account
 188  echo -e "$COLTXT"
 189  echo "Configuration du fichier /etc/pam.d/common-account"
 190  echo -e "$COLCMD\c"
 191  cp /etc/pam.d/common-account /etc/pam.d/common-account_sauve_$DATE
 192  echo "
 193  # /etc/pam.d/common-account
 194  # Configuration pour SambaEdu3
 195  
 196  account    sufficient   pam_ldap.so    use_first_pass
 197  account    required     pam_unix.so    use_first_pass" > /etc/pam.d/common-account
 198  
 199  
 200  # Configuration du fichier /etc/pam.d/common-session
 201  echo -e "$COLTXT"
 202  echo "Configuration du fichier /etc/pam.d/common-session"
 203  echo -e "$COLCMD\c"
 204  cp /etc/pam.d/common-session /etc/pam.d/common-session_sauve_$DATE
 205  echo "
 206  # /etc/pam.d/common-session
 207  # Configuration pour SambaEdu3
 208  
 209  session    optional     pam_mount.so
 210  session    required     pam_unix.so    use_first_pass" > /etc/pam.d/common-session
 211  
 212  
 213  # Configuration du fichier /etc/pam.d/common-password
 214  echo -e "$COLTXT"
 215  echo "Configuration du fichier /etc/pam.d/common-password"
 216  echo -e "$COLCMD\c"
 217  cp /etc/pam.d/common-password /etc/pam.d/common-password_sauve_$DATE
 218  echo "
 219  # /etc/pam.d/common-password
 220  # Configuration pour SambaEdu3
 221  
 222  password   required     pam_unix.so    nullok obscure min=8 md5" > /etc/pam.d/common-password
 223  
 224  
 225  # Configuration du fichier /etc/pam.d/cron
 226  echo -e "$COLTXT"
 227  echo "Configuration du fichier /etc/pam.d/cron"
 228  echo -e "$COLCMD\c"
 229  cp /etc/pam.d/cron /etc/pam.d/cron_sauve_$DATE
 230  echo "
 231  # /etc/pam.d/cron
 232  # Configuration pour SambaEdu3 pour ne pas utiliser les common-auth,... modifiés
 233  
 234  #====================
 235  #@include common-auth
 236  auth    required        pam_unix.so nullok_secure
 237  #====================
 238  
 239  auth       required   pam_env.so
 240  
 241  #====================
 242  #@include common-account
 243  account required        pam_unix.so
 244  #====================
 245  
 246  #====================
 247  #@include common-session
 248  session required        pam_unix.so
 249  #====================
 250  
 251  # Sets up user limits, please define limits for cron tasks
 252  # through /etc/security/limits.conf
 253  session    required   pam_limits.so
 254  " > /etc/pam.d/cron
 255  
 256  
 257  echo -e "$COLTXT"
 258  echo "Configuration du fichier /etc/security/group.conf"
 259  echo -e "$COLCMD\c"
 260  cp /etc/security/group.conf /etc/security/group_sauve_$DATE.conf
 261  echo "
 262  # /etc/security/group.conf
 263  # Configuration pour SambaEdu3
 264  
 265  gdm;*;*;Al0000-2400;floppy,cdrom,audio,video,plugdev
 266  kdm;*;*;Al0000-2400;floppy,cdrom,audio,video,plugdev" > /etc/security/group.conf
 267  
 268  
 269  
 270  # Configuration du fichier /etc/security/pam_mount.conf
 271  echo -e "$COLTXT"
 272  echo "Configuration du fichier /etc/security/pam_mount.conf"
 273  echo -e "$COLCMD\c"
 274  cp /etc/security/pam_mount.conf /etc/security/pam_mount_sauve_$DATE.conf
 275  
 276  # Attention: Les chemins des commandes mount, smbmount, cifsmount, lsof, fsck
 277  #            ne sont pas les mêmes sous Ubuntu et Debian Etch
 278  echo "
 279  # /etc/security/pam_mount.conf
 280  # Configuration pour SambaEdu3
 281  
 282  debug 0
 283  mkmountpoint 1
 284  fsckloop /dev/loop7
 285  options_require nosuid,nodev
 286  
 287  lsof /usr/bin/lsof %(MNTPT)
 288  fsck /sbin/fsck -p %(FSCKTARGET)
 289  losetup /sbin/losetup -p0 \"%(before=\\\"-e\\\" CIPHER)\" \"%(before=\\\"-k\\\" KEYBITS)\" %(FSCKLOOP) %(VOLUME)
 290  unlosetup /sbin/losetup -d %(FSCKLOOP)
 291  #cifsmount /bin/mount -t cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o \"username=%(USER)%(before=\\\",\\\" OPTIONS)\"
 292  #cifsmount /bin/mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o \"username=%(USER)%(before=\\\",\\\" OPTIONS)\"
 293  cifsmount /bin/mount -t cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o \"user=%(USER),uid=%(USERUID),gid=%(USERGID)%(before=\\",\\" OPTIONS)\"
 294  #smbmount /usr/bin/smbmount   //%(SERVER)/%(VOLUME) %(MNTPT) -o \"username=%(USER)%(before=\\\",\\\" OPTIONS)\"
 295  smbmount /bin/mount -t smbfs //%(SERVER)/%(VOLUME) %(MNTPT) -o \"username=%(USER),uid=%(USERUID)%(before=\\\",\\\" OPTIONS)\"
 296  smbumount /usr/bin/smbumount %(MNTPT)
 297  #ncpmount /usr/bin/ncpmount   %(SERVER)/%(USER) %(MNTPT) -o \"pass-fd=0,volume=%(VOLUME)%(before=\\\",\\\" OPTIONS)\"
 298  ncpmount /usr/bin/ncpmount   %(SERVER)/%(USER) %(MNTPT) -o \"pass-fd=0,volume=%(VOLUME)%(before=\\",\\" OPTIONS)\"
 299  #ncpumount /usr/bin/ncpumount %(MNTPT)
 300  fusemount  /sbin/mount.fuse    %(VOLUME) %(MNTPT) \"%(before=\\"-o\\" OPTIONS)\"
 301  fuseumount /usr/bin/fusermount -u %(MNTPT)
 302  # Linux supports lazy unmounting (-l).  May be dangerous for encrypted volumes.
 303  # May also break loopback mounts because loopback devices are not freed.
 304  # Need to unmount mount point not volume to support SMB mounts, etc.
 305  # umount   /bin/umount %(MNTPT)
 306  umount /usr/sbin/umountH.sh %(MNTPT)
 307  # On OpenBSD try \"/usr/local/bin/mount_ehd\" (included in pam_mount package).
 308  #lclmount /bin/mount -p0 %(VOLUME) %(MNTPT) \"%(before=\\\"-o\\\" OPTIONS)\"
 309  #cryptmount /bin/mount -t crypt \"%(before=\\\"-o\\\" OPTIONS)\" %(VOLUME) %(MNTPT)
 310  #nfsmount /bin/mount %(SERVER):%(VOLUME) %(MNTPT) \"%(before=\\\"-o\\\" OPTIONS)\"
 311  # --bind may be a Linuxism.  FIXME: find BSD equivalent.
 312  #mntagain /bin/mount --bind %(PREVMNTPT) %(MNTPT)
 313  #mntcheck /bin/mount # For BSD's (don't have /etc/mtab)
 314  #pmvarrun /usr/sbin/pmvarrun -u %(USER) -d -o %(OPERATION)
 315  
 316  #volume * cifs $SE3_SERVER netlogon /home/netlogon mapchars,serverino,nobrl,iocharset=iso8859-15 - -
 317  volume * cifs $SE3_SERVER & /home/& uid=&,gid=&,mapchars,serverino,nobrl,iocharset=iso8859-15 - -
 318  volume * cifs $SE3_SERVER Classes /home/&/Desktop/Classes uid=&,gid=&,mapchars,serverino,nobrl,noperm,iocharset=iso8859-15 - -
 319  volume * cifs $SE3_SERVER Progs /home/&/Progs uid=&,gid=&,mapchars,serverino,nobrl,noperm,iocharset=iso8859-15 - -
 320  volume * cifs $SE3_SERVER Docs /home/&/Desktop/Partages uid=&,gid=&,ars,serverino,nobrl,noperm,iocharset=iso8859-15 - -
 321  
 322  #volume * smb $SE3_SERVER Classes /home/&/Desktop/Classes uid=&,gid=&,iocharset=iso8859-15 - -
 323  #volume * cifs $SE3_SERVER Classes /home/&/Desktop/Classes uid=&,gid=&,mapchars,serverino,nobrl,noperm,iocharset=iso8859-15 - -
 324  #volume * smb $SE3_SERVER Progs /home/&/Progs uid=&,gid=&,iocharset=iso8859-15 - -
 325  #volume * cifs $SE3_SERVER Progs /home/&/Progs uid=&,gid=&,mapchars,serverino,nobrl,noperm,iocharset=iso8859-15 - -
 326  #volume * smb $SE3_SERVER Docs /home/&/Desktop/Partages uid=&,gid=&,iocharset=iso8859-15 - -
 327  #volume * cifs $SE3_SERVER Docs /home/&/Desktop/Partages uid=&,gid=&,mapchars,serverino,nobrl,noperm,iocharset=iso8859-15 - - " > /etc/security/pam_mount.conf
 328  
 329  
 330  # Création du script de démontage des lecteurs réseaux : umountH.sh
 331  echo -e "$COLTXT"
 332  echo "Création du script de démontage des lecteurs réseaux : umountH.sh"
 333  echo -e "$COLCMD\c"
 334  touch /usr/sbin/umountH.sh
 335  chmod +x /usr/sbin/umountH.sh
 336  echo "
 337  #!/bin/bash
 338  #
 339  ##### Script permettant de démonter correctement le /home/user#####
 340  #
 341  # Auteur : Mickaël POIRAULT Mickael.Poirault@ac-versailles.fr
 342  #
 343  
 344  if [ \"\$1\" == \"--help\" -o \"\$1\" == \"-h\" ]
 345  then
 346      echo \"Permet de démonter correctement le /home/user\"
 347      echo \"Ce script est lancé automatiquement par pam_mount\"
 348      echo \"Usage : /usr/sbin/umountH.sh /home/user\"
 349      echo \"Ce script est distribué selon les termes de la licence GPL\"
 350      echo \"--help cette aide\"
 351  
 352      exit
 353  fi
 354  
 355  # Détermination du répertoire à démonter
 356  homeUSER=\$1
 357  
 358  # Attendre la fin des precessus qui utilisent le répertoire à démonter
 359  until [ ``\`/usr/sbin/lsof \$homeUSER | wc -l\``` = \"0\" ]
 360  do
 361      sleep 1
 362  done
 363  
 364  # Démontage du repertoire
 365  /bin/umount \$homeUSER" > /usr/sbin/umountH.sh
 366  
 367  
 368  
 369  # Configuration du fichier /etc/login.defs
 370  echo -e "$COLTXT"
 371  echo "Configuration du fichier /etc/login.defs"
 372  echo -e "$COLCMD\c"
 373  cp /etc/login.defs /etc/login_sauve_$DATE.defs
 374  perl -pi -e "s/CLOSE_SESSIONS no/CLOSE_SESSIONS yes/" /etc/login.defs
 375  
 376  
 377  # Configuration du fichier /etc/default/ntpdate
 378  echo -e "$COLTXT"
 379  echo "Configuration du fichier /etc/default/ntpdate"
 380  echo -e "$COLCMD\c"
 381  cp /etc/default/ntpdate /etc/default/ntpdate_sauve_$DATE
 382  echo "
 383  # /etc/default/ntpdate
 384  # Configuration pour SambaEdu3
 385  # servers to check.   (Separate multiple servers with spaces.)
 386  #NTPSERVERS=\"$NTPSERVERS\"
 387  NTPSERVERS=\"$SE3_SERVER\"
 388  
 389  # additional options for ntpdate
 390  $NTPOPTIONS" > /etc/default/ntpdate
 391  
 392  
 393  # Fin de la configuration
 394  echo -e "$COLTITRE"
 395  echo "Fin de l'installation."
 396  echo -e "$COLINFO"
 397  echo "ATTENTION : Seul les comptes ayant un shell peuvent se connecter."
 398  echo "            Le login fonctionne en console, sous Gnome, sous BlackBox,"
 399  echo "            mais pas sous KDE:o(."
 400  echo -e "$COLTXT"


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