[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
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"
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |