[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 #!/bin/bash 2 # 3 # 4 ######################################################################## 5 ##### Script permettant de joindre un client ubuntu au serveur SE3 ##### 6 ##### version du 17 mars 2010 7 # 8 # Auteur : Mickael POIRAULT Mickael.Poirault@ac-poitiers.fr 9 # Modifie par JC Mousseron pour la version Ubuntu 9.10 10 # Modifie par Philippe Peter pour: 11 # -integration Kubuntu 9.10 12 # -choix du nom de la machine 13 # -rendre Administrateur SE3 sudo root 14 # -désactiver l'affichage des utilisateurs antérieurs pour Ubuntu, Xubuntu et Ubuntu-netbook-remix 15 # -remontée éventuelle dans l'inventaire OCS du SE3 16 # -ajout de nscd 17 # -ajout de cron.apt pour que l'installation des maj de securite se fasse automatiquement 18 # -test renseignement variables 19 # -passage d'arguments au script 20 # -rapport d'integration horodaté nommé SE3_rapport_integration_UXuKubuntu-9.10 dans le /root de la machine Buntu 21 22 # Tests effectues avec Ubuntu 9.10, Kubuntu 9.10, Xubuntu 9.10, Ubuntu-netbook-remix9.10 et version alpha3 Ubuntu 10.04 23 # sur des serveurs SE3 Sarge 1.15.12 ou Etch 1.18.2 ou 1.5 24 # 25 ######################################################################## 26 27 DATERAPPORT=$(date +%F+%0kh%0Mmin) 28 29 { 30 31 # Section a completer avec vos parametres ! 32 SE3_SERVER="###SE3_SERVER###" 33 SE3_IP="###SE3_IP###" 34 BASE_DN="###BASE_DN###" 35 LDAP_SERVER="###LDAP_SERVER###" 36 NTPSERVERS="###NTPSERVER###" 37 NTPOPTIONS="###NTPOPTIONS###" 38 TLS="###TLS###" 39 IOCHARSET="###IOCHARSET###" 40 ########################################## 41 42 # aide obtenue avec passage des arguments --help ou -h à l'appel du script 43 44 if [ "$1" == "--help" -o "$1" == "-h" ]; then 45 echo "" 46 echo "-----------------------------------------------" 47 echo "AIDE concernant l'utilisation du script d'integration des clients Buntu sur le serveur SAMBA EDU 3" 48 echo "Ce script permet de faire rejoindre un client ubuntu au serveur SE3." 49 echo "Les tests ont ete effectues avec Ubuntu 9.10, Xubuntu9.10, Ubuntu-netbook-remix9.10, Kubuntu 9.10 et Ubuntu10.04 version alpha3 avec des serveurs Samba Edu3 Sarge ou Etch. " 50 echo "Ce script est a lancer sur le client en root via la commande sudo:" 51 echo "Exemple: sudo $0" 52 echo "Des arguments peuvent être passés à l'appel du script, lire la suite..." 53 echo "" 54 echo "-----------------------------------------------" 55 echo "" 56 echo "Les donnees indiquées dans le script sont :" 57 echo " $SE3_SERVER : nom du serveur Se3" 58 echo " $SE3_IP : ip du serveur Se3" 59 echo " $BASE_DN : base dn de l'annuaire" 60 echo " $LDAP_SERVER : addresse du serveur ldap" 61 echo " $NTPSERVERS : serveur de temps pour ntpdate" 62 echo " $NTPOPTIONS : options pour ntpdate" 63 echo " $TLS : options TLS pour le serveur ldap" 64 echo " $IOCHARSET : locale pour pam_mount.conf.xml" 65 echo "" 66 echo "A la suite de l'execution du script un rapport nommé SE3_rapport_integration_UXuKubuntu-9.10_date sera disponible dans le dossier /root du client Buntu." 67 echo "" 68 echo "-----------------------------------------------" 69 echo "" 70 echo "Usage n°1: Appel du script sans argument" 71 echo "Commande à saisir: $0" 72 echo "Exemple: $0" 73 echo "Le script demandera:" 74 echo "-le nom de la machine" 75 echo "-la possibilité d installer automatiquement les mises à jour de sécurité" 76 echo "-la possibilité de remonter les informations de la machine dans l inventaire du SE3" 77 echo "-la possibilité de redémarrer la machine à la fin de son intégration." 78 echo "" 79 echo "Dans les possibilités suivantes de passage d'arguments au lancement du script la logique est la suivante:" 80 echo "-si le script a un premier argument en appel c'est le nom_de_la_machine" 81 echo "-et par défaut pas d installation des maj de sécurité sauf si l'on positionne le second argument à o" 82 echo "-et par défaut remontée des infos de la machine dans l'inventaire sauf si l'on positionne le troisième argument à n" 83 echo "-et par défaut redémarrage de la machine à la fin de l intégration sauf si l'on positionne le quatrième argument à n." 84 echo "" 85 echo "Usage n°2: Appel du script avec un seul argument" 86 echo "Commande à saisir: $0 nomdelamachine" 87 echo "Exemple: $0 superbuntu" 88 echo "installera la machine avec le nom superbuntu SANS automatisation de l installation des màj de sécurité, AVEC remontée des infos dans l'inventaire et AVEC redemarrage automatique." 89 echo "" 90 echo "Usage n°3: Appel du script avec deux arguments" 91 echo "Commande à saisir: $0 nomdelamachine o" 92 echo "Exemple: $0 superbuntu o" 93 echo "installera la machine avec le nom superbuntu AVEC automatisation de l installation des màj de sécurité, et AVEC remontée des infos dans l'inventaire et AVEC redemarrage automatique." 94 echo "" 95 echo "Usage n°4: Appel du script avec trois arguments" 96 echo "Commande à saisir: $0 nomdelamachine o n" 97 echo "Exemple: $0 superbuntu o n" 98 echo "installera la machine avec le nom superbuntu AVEC automatisation de l installation des màj de sécurité, et SANS remontée des infos dans l'inventaire et AVEC redemarrage automatique." 99 echo "" 100 echo "Usage n°5: Appel du script avec quatre arguments" 101 echo "Commande à saisir: $0 nomdelamachine o n n" 102 echo "Exemple: $0 superbuntu o n n" 103 echo "installera la machine avec le nom superbuntu AVEC automatisation de l installation des màj de sécurité, et SANS remontée des infos dans l'inventaire et SANS redemarrage automatique." 104 echo "" 105 echo "-----------------------------------------------" 106 echo "" 107 echo "Différences entre Ubuntu9.10, Xubuntu9.10, Kubuntu9.10 et Ubuntu-netbook-remix9.10:" 108 echo "" 109 echo "Pour Ubuntu9.10:" 110 echo "tous les partages réseaux apparaissent sur le bureau." 111 echo "Par souci de clarification les partages réseaux ou dossiers se trouvant sur le serveur SE3 sont nommés avec le suffixe _SE3." 112 echo "" 113 echo "Pour Xubuntu9.10:" 114 echo "le répertoire personnel apparaît sur le bureau" 115 echo "pour les autres partages réseau cliquer sur l'icone « système de fichiers » puis media et le dossier au nom de l'utilisateur" 116 echo "Par souci de clarification les partages réseaux ou dossiers se trouvant sur le serveur SE3 sont nommés avec le suffixe _SE3." 117 echo "" 118 echo "Pour Kubuntu9.10:" 119 echo "le répertoire personnel apparaît dans « Poste de travail », il se nomme « Dossier personnel »" 120 echo "pour les autres partages réseau cliquer sur l'icone « Poste de travail » puis racine puis media et le dossier au nom de l'utilisateur" 121 echo "Par souci de clarification les partages réseaux ou dossiers se trouvant sur le serveur SE3 sont nommés avec le suffixe _SE3." 122 echo "" 123 echo "Ubuntu-netbook-remix9.10:" 124 echo "cliquer sur « Fichiers et Dossiers » dans la barre latérale de gauche. Puis cliquer sur n'importe quel dossier et utiliser le menu « Aller à » ou bien « Affichage/panneau latéral » et vous accéderez aux partages réseaux." 125 echo "Par souci de clarification les partages réseaux ou dossiers se trouvant sur le serveur SE3 sont nommés avec le suffixe _SE3." 126 echo "" 127 echo "-----------------------------------------------" 128 echo "" 129 echo "Des arguments peuvent être passés à l'appel du script, lire plus haut les exmples d'usage." 130 echo "" 131 echo "-----------------------------------------------" 132 exit 0 133 fi 134 135 # test renseignement variables fondamentales 136 137 #if [ $SE3_SERVER = "###SE3_SERVER###" ]; then 138 if [ -z "$SE3_SERVER}" -o "$SE3_SERVER:0:1}" = "#" ]; then 139 echo " Erreur: la variable SE3_SERVER n'est pas renseignée." 140 exit 141 fi 142 143 #if [ $SE3_IP = "###SE3_IP###" ]; then 144 if [ -z "$SE3_IP}" -o "$SE3_IP:0:1}" = "#" ]; then 145 echo " Erreur: la variable SE3_IP n'est pas renseignée." 146 exit 147 fi 148 149 #if [ $BASE_DN = "###BASE_DN###" ]; then 150 if [ -z "$BASE_DN" -o "$BASE_DN" = "#" ]; then 151 echo " Erreur: la variable BASE_DN n'est pas renseignée." 152 exit 153 fi 154 155 #if [ $LDAP_SERVER = "###LDAP_SERVER###" ]; then 156 if [ -z "$LDAP_SERVER}" -o "$LDAP_SERVER:0:1}" = "#" ]; then 157 echo " Erreur: la variable LDAP_SERVER n'est pas renseignée." 158 exit 159 fi 160 161 # attribution des arguments eventuels passés en ligne de commande 162 # par défaut: 163 # - pas d'automatisation de l'installation des mises à jour de sécurité 164 # - remontée des infos machine Buntu dans l'inventaire (que le module inventaire OCS soit activé ou non sur le SE3) 165 # - redémarrage automatique en fin d'intégration de la machine Buntu 166 167 CRONAPT=n 168 OCS=o 169 REBOOT=o 170 171 # affichage date version script 172 173 echo "La version du script utilisé est datée du 17 mars 2010." 174 175 # test des arguments passés à l'appel du script 176 177 case "$#" in 178 0) 179 echo "Aucun paramètre passé en appel du script." 180 echo "Quel nom choisissez-vous pour cette machine?" 181 read NOMMACH 182 echo "Le nom choisi pour la machine est $NOMMACH." 183 echo "Voulez-vous configurer la machine pour que les mises à jour de securite soient effectuees automatiquement?" 184 PS3='Répondre par o ou n:' # le prompt 185 LISTE=("[o] oui" "[n] non") # liste de choix disponibles 186 select CHOIX in "$LISTE[@]}" ; do 187 case $REPLY in 188 1|o) 189 echo "Vous avez choisi l installation automatique des mises à jour de securite." 190 CRONAPT=o 191 break 192 ;; 193 2|n) 194 echo "Vous avez refuse l installation automatique des mises à jour de securite." 195 CRONAPT=n 196 break 197 ;; 198 esac 199 done 200 201 echo "A la fin de l'installation, voulez-vous une remontée des informations dans l'inventaire du serveur SE3?" 202 PS3='Répondre par o ou n:' # le prompt 203 LISTE=("[o] oui" "[n] non") # liste de choix disponibles 204 select CHOIX in "$LISTE[@]}" ; do 205 case $REPLY in 206 1|o) 207 echo "Vous avez choisi la remontee des infos de la machine dans l'inventaire." 208 OCS=o 209 break 210 ;; 211 2|n) 212 echo "Vous avez refuse la remontee des infos de la machine dans l'inventaire." 213 OCS=n 214 break 215 ;; 216 esac 217 done 218 219 echo "A la suite de l'integration de la machine, voulez-vous qu'elle redémarre automatiquement?" 220 PS3='Répondre par o ou n:' # le prompt 221 LISTE=("[o] oui" "[n] non") # liste de choix disponibles 222 select CHOIX in "$LISTE[@]}" ; do 223 case $REPLY in 224 1|o) 225 echo "Vous avez choisi le redémarrage automatique de la machine." 226 REBOOT=o 227 break 228 ;; 229 2|n) 230 echo "Vous avez refuse le redémarrage automatique de la machine." 231 REBOOT=n 232 break 233 ;; 234 esac 235 done 236 ;; 237 1) 238 echo "Le nom de la machine choisi est $1" 239 echo "En l'absence d'autres arguments:" 240 echo "-l'automatisation de l'installation des mises à jour de sécurité n'aura pas lieu" 241 echo "-une tentative de remontée des infos du client dans l'inventaire OCS du SE3 aura lieu" 242 echo "-le redémarrage automatique du client Buntu aura lieu après son intégration." 243 NOMMACH=$1 244 ;; 245 2) 246 echo "Le nom de la machine choisi est $1 et vous avez répondu: " 247 echo "$2 pour l'automatisation de l'installation des mises à jour de sécurité CRONAPT" 248 echo "-une tentative de remontée des infos du client dans l'inventaire OCS du SE3 aura lieu" 249 echo "-le redémarrage automatique du client Buntu aura lieu après son intégration." 250 NOMMACH=$1 251 if [ $2 = "o" ] || [ $2 = "n" ];then 252 CRONAPT=$2 253 else 254 echo "Le second argument n'est pas valable. Il ne peut être que o ou n." 255 exit 256 fi 257 ;; 258 3) 259 echo "Le nom de la machine choisi est $1 et vous avez répondu: " 260 echo "$2 pour l'automatisation de l'installation des mises à jour de sécurité CRONAPT" 261 echo "$3 pour la remontée des infos du client dans l'inventaire OCS du SE3" 262 echo "-le redémarrage automatique du client Buntu aura lieu après son intégration." 263 NOMMACH=$1 264 if [ $2 = "o" ] || [ $2 = "n" ];then 265 CRONAPT=$2 266 else 267 echo "Le second argument n'est pas valable. Il ne peut être que o ou n." 268 exit 269 fi 270 if [ $3 = "o" ] || [ $3 = "n" ];then 271 OCS=$3 272 else 273 echo "Le troisième argument n'est pas valable. Il ne peut être que o ou n." 274 exit 275 fi 276 ;; 277 4) 278 echo "Le nom de la machine choisi est $1 et vous avez répondu: " 279 echo "$2 pour l'automatisation de l'installation des mises à jour de sécurité CRONAPT" 280 echo "$3 pour la remontée des infos du client dans l'inventaire OCS du SE3" 281 echo "$4 pour le redémarrage automatique du client Buntu après son intégration." 282 NOMMACH=$1 283 if [ $2 = "o" ] || [ $2 = "n" ];then 284 CRONAPT=$2 285 else 286 echo "Le second argument n'est pas valable. Il ne peut être que o ou n." 287 exit 288 fi 289 if [ $3 = "o" ] || [ $3 = "n" ];then 290 OCS=$3 291 else 292 echo "Le troisième argument n'est pas valable. Il ne peut être que o ou n." 293 exit 294 fi 295 if [ $4 = "o" ] || [ $4 = "n" ];then 296 REBOOT=$4 297 else 298 echo "Le quatrième argument n'est pas valable. Il ne peut être que o ou n." 299 exit 300 fi 301 302 esac 303 304 # test presence caractere interdit dans le nom de la machine 305 306 test="$(echo $NOMMACH | sed -e 's/[^[:alnum:]]//g')" 307 if [ "$test" != "$NOMMACH" ] ; then 308 echo "Erreur: le nom choisi pour la machine $NOMMACH contient un caractère non alphanumérique." 309 exit 310 else 311 echo "C'est bon: le nom choisi de la machine $NOMMACH ne contient que des caractères alphanumériques." 312 fi 313 314 315 # comment rendre le script "cretin-resistant", par Christian Westphal 316 317 TEST_CLIENT=`ifconfig | grep ":$SE3_IP "` 318 if [ ! -z "$TEST_CLIENT" ]; then 319 echo "Malheureux... Ce script est a executer sur les clients Linux, pas sur le serveur." 320 exit 321 fi 322 323 [ -e /var/www/se3 ] && echo "Malheureux... Ce script est a executer sur les clients Linux, pas sur le serveur." && exit 1 324 325 326 # Recuperation de la date et de l'heure pour la sauvegarde des fichiers 327 328 DATE=$(date +%F+%0kh%0Mmin) 329 330 # Modification du fichier /etc/apt/sources.list 331 332 echo "Modification du /etc/apt/sources.list" 333 334 cp /etc/apt/sources.list /etc/apt/sources.list_sauve_$DATE 335 perl -pi -e "s&deb cdrom&# deb cdrom&" /etc/apt/sources.list 336 337 # Mise a jour de la machine 338 339 export DEBIAN_FRONTEND=noninteractive 340 export DEBIAN_PRIORITY=high 341 342 echo "Mise a jour de la machine..." 343 344 # Resolution du probleme de lock 345 346 if [ -e "/var/lib/dpkg/lock" ]; then 347 rm -f /var/lib/dpkg/lock 348 fi 349 350 # On lance une maj 351 352 apt-get update 353 apt-get dist-upgrade -y 354 355 # On rechange le sources.list 356 357 perl -pi -e 's&^#.*deb http://(.*)universe$&deb http://$1 universe&' /etc/apt/sources.list 358 perl -pi -e 's&^# deb-src http://(.*)universe$&deb-src http://$1 universe&' /etc/apt/sources.list 359 perl -pi -e 's&^#.*deb http://(.*)restricted$&deb http://$1 restricted&' /etc/apt/sources.list 360 361 apt-get update 362 363 # Installation des paquets necessaires 364 365 echo "Installation des paquets necessaires:" 366 367 echo "Ne rien remplir, les fichiers sont configures/modifies automatiquement apres..." 368 369 apt-get install --assume-yes libnss-ldap libpam-ldap lsof libpam-mount smbfs samba-common ntpdate ssh ocsinventory-agent ldap-utils nscd cron-apt 370 371 # Configuration des fichiers 372 373 echo "Configuration des fichiers pour Samba Edu 3..." 374 375 # Configuration du fichier /etc/hosts 376 377 378 echo "Configuration du fichier /etc/hosts" 379 380 cp /etc/hosts /etc/hosts_sauve_$DATE 381 OK_SE3=`cat /etc/hosts | grep $SE3_SERVER` 382 if [ -z "$OK_SE3" ]; then 383 echo "$SE3_IP $SE3_SERVER" >> /etc/hosts 384 fi 385 386 # Configuration du fichier /etc/ldap.conf 387 388 echo "Configuration du fichier /etc/ldap.conf" 389 390 cp /etc/ldap.conf /etc/ldap.conf_sauve_$DATE 391 echo " 392 # /etc/ldap.conf 393 # Configuration pour Sambaedu3 394 395 host $LDAP_SERVER 396 base $BASE_DN 397 ldap_version 3 398 port 389 399 bind_policy soft 400 pam_password md5" > /etc/ldap.conf 401 402 # Verification présence du nom machine choisi dans le LDAP 403 404 ldapsearch -h $SE3_SERVER -b "ou=Computers,$BASE_DN" -xL cn=$NOMMACH > resultat_recherche_nom_machine_annuaire && echo "La recherche de la présence du nom dans l annuaire a eu lieu:" & 405 wait 406 grep -wq numEntries resultat_recherche_nom_machine_annuaire 407 if [ $? -eq 0 ] 408 then 409 echo "Ce nom est déjà utilisé." 410 echo "----------------------" 411 cat resultat_recherche_nom_machine_annuaire 412 echo "----------------------" 413 echo "" 414 echo "Relancez le script, en choisissant un nom de machine non présent dans l'annuaire :-)" 415 exit 0 416 else 417 echo "Ce nom n'est pas utilisé, donc le script continue." 418 ANCIENNOM=$(hostname) 419 cp /etc/hosts /etc/hosts_sauve_$DATE 420 sed "s/$ANCIENNOM/$NOMMACH/g" /etc/hosts 421 cp /etc/hostname /etc/hostname_sauve_$DATE 422 echo "$NOMMACH" > /etc/hostname 423 fi 424 425 # Configuration du fichier /etc/nsswitch.conf 426 427 echo "Configuration du fichier /etc/nsswitch.conf" 428 429 cp /etc/nsswitch.conf /etc/nsswitch.conf_sauve_$DATE 430 echo " 431 # /etc/nsswitch.conf 432 # Configuration pour SambaEdu3 433 434 passwd: files ldap 435 group: files ldap 436 shadow: files ldap 437 438 hosts: files dns 439 networks: files 440 441 protocols: db files 442 services: db files 443 ethers: db files 444 rpc: db files 445 446 netgroup: nis" > /etc/nsswitch.conf 447 448 # Configuration du fichier /etc/pam.d/login 449 450 echo "Configuration du fichier /etc/pam.d/login" 451 452 cp /etc/pam.d/login /etc/pam.d/login_sauve_$DATE 453 echo " 454 # /etc/pam.d/login 455 # Configuration pour SambaEdu3 456 457 auth requisite pam_securetty.so 458 auth requisite pam_nologin.so 459 session required pam_env.so readenv=1 460 @include common-auth 461 @include common-account 462 @include common-session 463 session required pam_limits.so 464 #session optional am_lastlog.so 465 session optional pam_lastlog.so 466 session optional pam_motd.so 467 session optional pam_mail.so standard 468 @include common-password" > /etc/pam.d/login 469 470 # Configuration du fichier /etc/pam.d/common-auth 471 472 echo "Configuration du fichier /etc/pam.d/common-auth" 473 474 cp /etc/pam.d/common-auth /etc/pam.d/common-auth_sauve_$DATE 475 echo " 476 # /etc/pam.d/common-auth 477 # Configuration pour SambaEdu3 478 479 auth optional pam_group.so 480 auth optional pam_mount.so 481 auth sufficient pam_ldap.so use_first_pass 482 auth required pam_unix.so use_first_pass" > /etc/pam.d/common-auth 483 484 # Configuration du fichier /etc/pam.d/common-account 485 486 echo "Configuration du fichier /etc/pam.d/common-account" 487 488 cp /etc/pam.d/common-account /etc/pam.d/common-account_sauve_$DATE 489 echo " 490 # /etc/pam.d/common-account 491 # Configuration pour SambaEdu3 492 493 session required pam_mkhomedir.so skel=/etc/skel/ 494 account sufficient pam_ldap.so use_first_pass 495 account required pam_unix.so use_first_pass" > /etc/pam.d/common-account 496 497 # Configuration du fichier /etc/pam.d/common-session 498 499 echo "Configuration du fichier /etc/pam.d/common-session" 500 501 cp /etc/pam.d/common-session /etc/pam.d/common-session_sauve_$DATE 502 echo " 503 # /etc/pam.d/common-session 504 # Configuration pour SambaEdu3 505 506 session optional pam_mount.so 507 session required pam_unix.so use_first_pass" > /etc/pam.d/common-session 508 509 # Configuration du fichier /etc/pam.d/common-password 510 511 echo "Configuration du fichier /etc/pam.d/common-password" 512 513 cp /etc/pam.d/common-password /etc/pam.d/common-password_sauve_$DATE 514 echo " 515 # /etc/pam.d/common-password 516 # Configuration pour SambaEdu3 517 518 password required pam_unix.so nullok obscure min=8 md5" > /etc/pam.d/common-password 519 520 # Configuration du fichier /etc/pam.d/sudo 521 522 echo "Configuration du fichier /etc/pam.d/sudo" 523 524 cp /etc/pam.d/sudo /etc/pam.d/sudo_sauve_$DATE 525 echo " 526 # /etc/pam.d/sudo 527 # Configuration pour SambaEdu3 528 # Modifie par P.Peter pour permettre a admin (Administrateur SE3) de sudoifier 529 530 @include common-auth 531 @include common-account" > /etc/pam.d/sudo 532 533 #ajout de admin a la liste des suoders avec pouvoir de root 534 535 cp -a /etc/sudoers /etc/sudoers_sauve_$DATE 536 sed -i '/root /a\admin ALL=(ALL) ALL' /etc/sudoers 537 538 # Configuration du fichier /etc/security/group.conf 539 540 echo "Configuration du fichier /etc/security/group.conf" 541 542 cp /etc/security/group.conf /etc/security/group.conf_sauve_$DATE 543 echo " 544 # /etc/security/group.conf 545 # Configuration pour SambaEdu3 546 547 gdm;*;*;Al0000-2400;floppy,cdrom,audio,video,plugdev 548 kdm;*;*;Al0000-2400;floppy,cdrom,audio,video,plugdev" > /etc/security/group.conf 549 550 # Configuration du fichier /etc/pam.d/common-pammount 551 # indispensable pour Kubuntu et fonctionnant avec Ubuntu et Xubuntu 552 553 echo "Configuration du fichier /etc/pam.d/common-pammount" 554 555 touch /etc/pam.d/common-pammount 556 echo " 557 # /etc/pam.d/common-pammount 558 # Configuration pour SambaEdu3 et Kubuntu et Ubuntu et Xubuntu et Ubuntu-netbook-remix 559 560 auth optional pam_mount.so use_first_pass 561 session optional pam_mount_so" > /etc/pam.d/common-pammount 562 563 if [ -f /etc/pam.d/kdm ];then 564 echo " 565 @include common-pammount">> /etc/pam.d/kdm 566 fi 567 if [ -f /etc/pam.d/gdm ];then 568 echo " 569 @include common-pammount">> /etc/pam.d/gdm 570 fi 571 572 # Correction du bug eventuel KDE Intel de retour en tty à la deconnexion de session 573 574 if [ -f /etc/kde4/kdm/kdmrc ];then 575 cp /etc/kde4/kdm/kdmrc /etc/kde4/kdm/kdmrc_sauve_$DATE 576 sed -i '/ServerCmd/a\TerminateServer=true' /etc/kde4/kdm/kdmrc 577 fi 578 # Desactivation de l affichage de la liste des utilisateurs antérieurs 579 580 if [ -f /usr/bin/gconftool-2 ];then 581 sudo -u gdm gconftool-2 -t bool -s /apps/gdm/simple-greeter/disable_user_list true 582 fi 583 584 # Configuration du fichier /etc/security/pam_mount.conf.xml 585 586 echo "Configuration du fichier /etc/security/pam_mount.conf.xml" 587 588 cp /etc/security/pam_mount.conf.xml /etc/security/pam_mount.conf.xml_sauve_$DATE 589 echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> 590 591 <!-- 592 /etc/security/pam_mount.conf.xml 593 Configuration pour SambaEdu3 594 --> 595 596 <pam_mount> 597 <debug enable=\"1\" /> 598 <mkmountpoint enable=\"1\" remove=\"true\" /> 599 <fsckloop device=\"/dev/loop7\" /> 600 <mntoptions allow=\"nosuid,nodev,loop,encryption,fsck\" /> 601 <mntoptions require=\"nosuid,nodev\" /> 602 603 <path>/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin</path> 604 605 <lsof>lsof %(MNTPT)</lsof> 606 <fsck>fsck -p %(FSCKTARGET)</fsck> 607 <losetup>losetup -p0 \"%(before=\\\"-e\\\" CIPHER)\" \"%(before=\\\"-k\\\" KEYBITS)\" %(FSCKLOOP) %(VOLUME)</losetup> 608 <unlosetup>losetup -d %(FSCKLOOP)</unlosetup> 609 <!-- 610 <cifsmount>mount -t cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o \"username=%(USER)%(before=\\\",\\\" OPTIONS)\"</cifsmount> 611 --> 612 <cifsmount>mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o \"username=%(USER)%(before=\\\",\\\" OPTIONS)\"</cifsmount> 613 <umount>umount.cifs %(MNTPT)</umount> 614 615 616 <volume fstype=\"cifs\" server=\"$SE3_SERVER\" path=\"netlogon\" mountpoint=\"/home/netlogon\" user=\"*\" options=\"mapchars,serverino,nobrl,iocharset=$IOCHARSET\" /> 617 <volume fstype=\"cifs\" server=\"$SE3_SERVER\" path=\"%(USER)/Docs\" mountpoint=\"/home/%(USER)/Documents_SE3\" user=\"*\" options=\"uid=%(USER),gid=admins,mapchars,serverino,nobrl,noperm,iocharset=$IOCHARSET\" /> 618 619 620 #<volume fstype=\"cifs\" server=\"$SE3_SERVER\" path=\"%(USER)/profil\" mountpoint=\"/home/%(USER)/profil\" user=\"*\" options=\"uid=%(USER),gid=admins,mapchars,serverino,nobrl,noperm,iocharset=$IOCHARSET\" /> 621 #<volume fstype=\"cifs\" server=\"$SE3_SERVER\" path=\"Classes\" mountpoint=\"/media/%(USER)/Classes\" user=\"*\" options=\"uid=%(USER),gid=admins,setuids,mapchars,serverino,nobrl,noperm,iocharset=$IOCHARSET\" /> 622 <volume fstype=\"cifs\" server=\"$SE3_SERVER\" path=\"Classes\" mountpoint=\"/home/%(USER)/Classes_SE3\" user=\"*\" options=\"uid=%(USER),gid=admins,setuids,mapchars,serverino,nobrl,noperm,iocharset=$IOCHARSET\" /> 623 624 #<volume fstype=\"cifs\" server=\"$SE3_SERVER\" path=\"Docs\" mountpoint=\"/media/%(USER)/Partages\" user=\"*\" options=\"uid=%(USER),gid=admins,setuids,mapchars,serverino,nobrl,noperm,iocharset=$IOCHARSET\" /> 625 <volume fstype=\"cifs\" server=\"$SE3_SERVER\" path=\"Docs\" mountpoint=\"/home/%(USER)/Partage_Docs_SE3\" user=\"*\" options=\"uid=%(USER),gid=admins,setuids,mapchars,serverino,nobrl,noperm,iocharset=$IOCHARSET\" /> 626 #<volume fstype=\"cifs\" server=\"$SE3_SERVER\" path=\"%(USER)/profil/Bureau\" mountpoint=\"/home/%(USER)/Bureau\" user=\"*\" options=\"uid=%(USER),gid=admins,setuids,mapchars,serverino,nobrl,noperm,iocharset=$IOCHARSET\" /> 627 628 # ajout Philippe Peter car Progs peut etre utile à tous (avec wine) et admse3 et admhomes utiles a l'administrateur du se3 629 #<volume fstype=\"cifs\" server=\"$SE3_SERVER\" path=\"Progs\" mountpoint=\"/media/%(USER)/Progs\" user=\"*\" options=\"uid=%(USER),gid=admins,setuids,mapchars,serverino,nobrl,noperm,iocharset=$IOCHARSET\" /> 630 #<volume fstype=\"cifs\" server=\"$SE3_SERVER\" path=\"admse3\" mountpoint=\"/media/%(USER)/admse3\" user=\"*\" options=\"uid=%(USER),gid=admins,setuids,mapchars,serverino,nobrl,noperm,iocharset=$IOCHARSET\" /> 631 #<volume fstype=\"cifs\" server=\"$SE3_SERVER\" path=\"admhomes\" mountpoint=\"/media/%(USER)/admhomes\" user=\"*\" options=\"uid=%(USER),gid=admins,setuids,mapchars,serverino,nobrl,noperm,iocharset=$IOCHARSET\" /> 632 633 <volume fstype=\"cifs\" server=\"$SE3_SERVER\" path=\"Progs\" mountpoint=\"/home/%(USER)/Progs_SE3\" user=\"*\" options=\"uid=%(USER),gid=admins,setuids,mapchars,serverino,nobrl,noperm,iocharset=$IOCHARSET\" /> 634 <volume fstype=\"cifs\" server=\"$SE3_SERVER\" path=\"admse3\" mountpoint=\"/home/%(USER)/admse3_SE3\" user=\"*\" options=\"uid=%(USER),gid=admins,setuids,mapchars,serverino,nobrl,noperm,iocharset=$IOCHARSET\" /> 635 <volume fstype=\"cifs\" server=\"$SE3_SERVER\" path=\"admhomes\" mountpoint=\"/home/%(USER)/admhomes_SE3\" user=\"*\" options=\"uid=%(USER),gid=admins,setuids,mapchars,serverino,nobrl,noperm,iocharset=$IOCHARSET\" /> 636 637 # fin ajout 638 639 <msg-authpw>Mot de passe :</msg-authpw> 640 <msg-sessionpw>Mot de passe :</msg-sessionpw> 641 642 </pam_mount>" > /etc/security/pam_mount.conf.xml 643 644 killall trackerd 2>/dev/null 645 killall bluetooth-applet 2>/dev/null 646 647 # Configuration du fichier /etc/default/ntpdate 648 649 echo "Configuration du fichier /etc/default/ntpdate" 650 651 cp /etc/default/ntpdate /etc/default/ntpdate_sauve_$DATE 652 echo " 653 # /etc/default/ntpdate 654 # Configuration pour SambaEdu3 655 # servers to check. (Separate multiple servers with spaces.) 656 NTPSERVERS=\"$NTPSERVERS\" 657 #NTPSERVERS=\"$SE3_SERVER\" 658 659 # additional options for ntpdate 660 661 $NTPOPTIONS" > /etc/default/ntpdate 662 663 # On recupere la cle publique du serveur 664 665 mkdir -p /root/.ssh 666 chmod 700 /root/.ssh 667 cd /root/.ssh 668 if [ -f "authorized_keys" ];then 669 wget -o log_recuperation_cle_pub_se3_$DATE -O authorized_keys_se3 $SE3_IP:909/authorized_keys 670 cat authorized_keys_se3 >> authorized_keys 671 else 672 wget -o log_recuperation_cle_pub_se3_$DATE -O authorized_keys $SE3_IP:909/authorized_keys 673 fi 674 chmod 400 /root/.ssh/authorized_keys 675 cd / 676 677 # Configuration du fichier /etc/nscd.conf 678 679 echo "Configuration du fichier /etc/nscd.conf" 680 681 cp /etc/nscd.conf /etc/nscd.conf_sauve_$DATE 682 echo " 683 # Fichier de conf pour le Samba Edu 3 684 # /etc/nscd.conf 685 686 logfile /var/log/nscd.log 687 debug-level 0 688 # reload-count 5 689 paranoia no 690 # restart-interval 3600 691 692 enable-cache passwd yes 693 positive-time-to-live passwd 1200 694 negative-time-to-live passwd 20 695 suggested-size passwd 211 696 check-files passwd yes 697 persistent passwd yes 698 shared passwd yes 699 max-db-size passwd 33554432 700 auto-propagate passwd yes 701 702 enable-cache group yes 703 positive-time-to-live group 3600 704 negative-time-to-live group 60 705 suggested-size group 211 706 check-files group yes 707 persistent group yes 708 shared group yes 709 max-db-size group 33554432 710 auto-propagate group yes 711 712 # hosts caching is broken with gethostby* calls, hence is now disabled 713 # per default. See /usr/share/doc/nscd/NEWS.Debian. 714 enable-cache hosts no 715 positive-time-to-live hosts 3600 716 negative-time-to-live hosts 20 717 suggested-size hosts 211 718 check-files hosts yes 719 persistent hosts yes 720 shared hosts yes 721 max-db-size hosts 33554432 722 723 enable-cache services yes 724 positive-time-to-live services 28800 725 negative-time-to-live services 20 726 suggested-size services 211 727 check-files services yes 728 persistent services yes 729 shared services yes 730 max-db-size services 33554432 731 " > /etc/nscd.conf 732 733 # Configuration de /etc/cron-apt pour n'installer que les maj de securite 734 735 if [ $CRONAPT = "o" ] ; then 736 echo "Configuration de /etc/cron-apt" 737 738 less /etc/apt/sources.list|grep security > /etc/apt/security.sources.list 739 740 cp /etc/cron-apt/config /etc/cron-apt/config_sauve_$DATE 741 echo " 742 # /etc/cron-apt/config 743 # Configuration pour SambaEdu3 744 745 OPTIONS=\"-o quiet=1 -o Dir::Etc::SourceList=/etc/apt/security.sources.list\" 746 " > /etc/cron-apt/config 747 748 echo " 749 # Configuration pour Samba Edu3 750 751 dist-upgrade -y -o APT::Get::Show-Upgraded=true 752 " > /etc/cron-apt/action.d/5-install 753 754 ln -s /usr/sbin/cron-apt /etc/cron.daily/cron-apt 755 fi 756 757 # On remonte un rapport ocsinventory si admin d'accord 758 759 if [ $OCS = "o" ] ; then 760 echo "Debut de la tentative de remontée dans l'inventaire du SE3." 761 ocsinventory-agent --server http://$SE3_IP:909/ocsinventory/ 2>&1 762 echo "La tentative de remontée dans l inventaire du SE3 a eu lieu." 763 fi 764 765 # Fin de la configuration 766 767 echo "Fin de l'installation." 768 769 echo "ATTENTION : Seul les comptes ayant un shell peuvent se connecter" 770 echo "" 771 echo "Vous devez configurer les locale pour etre compatible avec Se3" 772 echo "Il faut redémarrer la machine." 773 774 775 export DEBIAN_FRONTEND=dialog 776 if [ $REBOOT = "n" ];then 777 exit 778 fi 779 reboot 780 781 } | tee /root/SE3_rapport_integration_UXuKubuntu-9.10_$DATERAPPORT 782 783 # si argument d'appel du script est --help ou -h effacement du rapport inutile de l'aide 784 785 if [ "$1" == "--help" -o "$1" == "-h" ]; then 786 rm /root/SE3_rapport_integration_UXuKubuntu-9.10_$DATERAPPORT 787 fi 788 exit 0
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 |