Notes sur mise en place serveur SUN Entreprise E450 / Ultra 5
Transcription
Notes sur mise en place serveur SUN Entreprise E450 / Ultra 5
Notes sur mise en place serveur SUN Entreprise E450 / Ultra 5 -Casablanca Février 2008 Philippe Marion 1 21 février 2008 1 Laboratoire de mathématiques pures et appliquées Joseph Liouville ; 50, rue Ferdinand Buisson BP 699 ; 62 228 Calais cedex ; France Table des matières 1 Installation et conguration 1.1 Openboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 installation-démarrage à partir du cdrom . . . . . . . . 1.1.2 démarrage à partir du disque . . . . . . . . . . . . . . 1.1.3 quelques commandes de l'OpenBoot . . . . . . . . 1.2 Gestion des disques . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 format et création de partition . . . . . . . . . . . . . . 1.2.2 Partitionnement de l'Entreprise 450 . . . . . . . . . . . 1.3 mise en réseau du serveur, d'une station . . . . . . . . . . . . 1.3.1 identier l' interface réseau , le routage . . . . . . . . . 1.3.2 congurer l' interface réseau, le routage . . . . . . . . . 1.3.3 conguration permanente de l'interface réseau : chiers 1.4 conguration et gestions des imprimantes . . . . . . . . . . . . 1.4.1 imprimantes HP . . . . . . . . . . . . . . . . . . . . . . 1.4.2 cupsd . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 gestion des logiciels . . . . . . . . . . . . . . . . . . . . . . . 1.5.1 gestion des packages : commandes pkgadd, pkgrm ... . 1.5.2 patch . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 administration des comptes - administration réseau (NIS , NFS) 2.1 comptes utilisateurs . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 modications minimum . . . . . . . . . . . . . . . 2.1.2 espace disques utilisateurs : les quotas sur disques . . 2.1.3 alias mail : correspondance prénom.nom -> login et inversement . . . . . . . . . . . . . . . . . . . . . . . . 2.2 gestion centralisée des comptes utilisateurs par NIS . . . . . 2.2.1 mise en place du domaine NIS . . . . . . . . . . . . . 1 1 1 1 1 1 2 2 4 5 5 6 6 7 7 8 8 8 8 10 10 10 11 12 12 12 2.2.2 services : côté serveur, côté client . . . . . . . . . 2.2.3 netgroup : chier /etc/netgroup . . . . . . . . . 2.2.4 /etc/nsswitch.conf et map NIS . . . . . . . . 2.2.5 commandes utiles . . . . . . . . . . . . . . . . . . 2.3 export des espaces disques sur les stations clientes : NFS 2.3.1 côté serveur : /etc/dfs/dfstab . . . . . . . . . . 2.3.2 côté client :/etc/vfstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 autres services réseaux : inetd ,DNS, sendmail, www, samba, dhcp,ntp ... 3.1 contrôle d'applications réseau via inetd : ftp telnet etc. . . . . 3.1.1 inetd et sécurité . . . . . . . . . . . . . . . . . . . . . . 3.2 DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 www : serveur apache . . . . . . . . . . . . . . . . . . . . . . . 3.4 samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 dhcp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 ntp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 sauvegarde et restauration 4.1 sauvergarde avec l'utilitaire ufsdump . . . . . . . . . . . . . 4.1.1 script de backup de sauvegarde du serveur . . . . . . 4.1.2 sauvegarde d'un station cliente sur le lecteur de bande du serveur . . . . . . . . . . . . . . . . . . . . . . . . 4.2 restauration : ufsrestore . . . . . . . . . . . . . . . . . . . . 4.2.1 exemple de récupération d'une partition complète . . 4.2.2 exemple de recupération de chier en mode interactif avec ufsrestore . . . . . . . . . . . . . . . . . . . . . . 4.2.3 transfert de partition avec ufsdump - ufsrestore . . . 4.2.4 cas particulier de la réinstallation de la partition de démarrage sur une autre partition : installation du bootblock . . . . . . . . . . . . . . . . . . . . . . . . 4.3 sauvegarde incrémentale : rdi-backup . . . . . . . . . . . . 2 12 13 14 14 15 15 15 16 16 16 17 17 17 17 17 18 . 18 . 18 . 18 . 20 . 20 . 20 . 22 . 23 . 23 Résumé Avertissement : Ces notes ont été rédigées uniquement dans le cadre d'une coopération avec le Maroc ( don d'anciens matériels de l'Université du Littoral à la Faculté des Sciences de Casablanca : un SUN Entreprise E450 et une vingtaine de stations ULTRA 5 dont certaines sont hors services). Elles n'ont donc pas la prétention d'être un cours d'administration système SUN/Solaris, elles ont seulement pour objet : de rafraîchir la mémoire de l'auteur ( moi-même ) ... qui n'a pas mis les mains sur un clavier SUN depuis plusieurs années de laisser une trace à mes homologues Marocains, qui permet de remettre en service rapidement ce matériel , dans l'esprit avec lequel il avait été installé à l'Université du Littoral. ... En espérant qu'elles ne soient pas (trop) incomplètes et qu'elles ne comportent pas (trop) de coquilles !... Chapitre 1 Installation et conguration 1.1 Openboot L'Openboot de SUN , phase du démarrage primaire des stations SUN, donne l'accès à la nvram , prompt ok 1.1.1 installation-démarrage à partir du cdrom ok boot cdrom 1.1.2 démarrage à partir du disque ok boot disk 1.1.3 (ou: boot disk:e , si e est la partition de démarrage) quelques commandes de l'OpenBoot ok boot probe-scsi-all target ... ok printenv # affiche les variables de la NVRAM 1 ok ok ok ok autoboot # boot-device # setenv boot-device banner # boot -S # boot -r # # # true elle boot au démarrage boot device dans l'ordre séparés par des virgules disk2 infos sur la machine : adresse MAC etc. boot en mode moniteur single boot en reinitialisant la configuration (nécessaire par exemple après avoir changer la partition de démarrage) 1.2 Gestion des disques les partitions des disques SCSI ont un nom de la forme /dev/[r]dsk/c0t1d0s6 où : r : le périphérique accessible en mode raw c0 : le disque est pris en charge ici par le contôleur 0 t1 : target : la partition est sur le 2ime disque SCSI ( numérotation commence à zéro) d0 : unité ? (à vérier ) s6 : partition 6 1.2.1 format et création de partition La table de partion d'un nouveau disque se crée avec l'utilitaire format. Sous Solaris la commande permet de de choisir la taille directement en Moctets ( et non pas en blocs/cylindre ) . Une fois les partitions créées, il faut créer les lesystem avec la commande format. Exemple de séquence (évidemment , en pratique il faut manipuler que des disques dont aucune paritition n'est montée !) FORMAT MENU: disk type partition current format repair label - select a disk select (define) a disk type select (define) a partition table describe the current disk format and analyze the disk repair a defective sector write label to the disk 2 analyze defect backup verify save inquiry volname quit - surface analysis defect list management search for backup labels read and display labels save new disk/partition definitions show vendor, product and revision set 8-character volume name AVAILABLE DISK SELECTIONS: 0. c0t1d0 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72> /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@1,0 1. c0t3d0 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72> /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@3,0 2. c0t5d0 <SEAGATE-ST34572N-0784 cyl 6240 alt 2 hd 8 sec 178> /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@5,0 Specify disk (enter its number)[1]: 0 selecting c0t1d0 [disk formatted] Warning: Current Disk has mounted partitions. format> verify Primary label contents: ascii name = <SUN1.05 cyl 2036 alt 2 hd 14 sec 72> pcyl = 2038 ncyl = 2036 acyl = 2 nhead = 14 nsect = 72 Part Tag Flag Cylinders Size 0 usr wm 0 - 890 438.54MB 1 swap wu 891 - 1012 60.05MB 2 backup wu 0 - 2035 1002.09MB 3 unassigned wm 0 0 4 unassigned wm 0 0 5 unassigned wm 0 0 6 unassigned wm 0 0 7 home wm 1013 - 2035 503.51MB 3 Blocks (891/0/0) (122/0/0) (2036/0/0) (0/0/0) (0/0/0) (0/0/0) (0/0/0) (1023/0/0) Une fois formatté, il faut créer les lesystem pour chacune des partitions : #/usr/sbin/newfs -vN /dev/rdsk/c0t1d0s5 # ne pas oublier le "r" 1.2.2 Partitionnement de l'Entreprise 450 Le serveur contient 3 disques SCSI de 9Go 3 disques t0 9Go ( root 180 , home_atos 150, var 1.7 Go, tmp 800Mo, usr 4Go, export 800mo) t1 9Go ( opt 5.6 Go, opt1 2Go, opt2 0.8 Go) t2 9G0 ( home1 2.1, home2 2.1, home3 2.1,home4 2.1) /dev/dsk/c0t0d0s0 /dev/dsk/c0t0d0s3 /proc fd /dev/dsk/c0t0d0s4 /dev/dsk/c0t0d0s6 /dev/dsk/c0t0d0s7 /dev/dsk/c0t2d0s0 /dev/dsk/c0t2d0s5 /dev/dsk/c0t2d0s6 /dev/dsk/c0t2d0s7 /dev/dsk/c0t1d0s0 /dev/dsk/c0t1d0s6 /dev/dsk/c0t1d0s7 /dev/dsk/c0t0d0s5 185560 4034392 0 0 1699687 799930 154945 2107191 2107191 2107191 2338941 5646807 1986439 895457 864751 23035 616745 0 0 284335 9 73218 354115 209673 1142649 304454 1799035 1099214 77193 339612 143969 3377304 0 0 1364362 743926 66233 1689861 1834303 901327 1987709 3791304 827632 764537 464607 14% 16% 0% 0% 18% 1% 53% 18% 11% 56% 14% 33% 58% 10% 43% / /usr /proc /dev/fd /var /export /home /home1 /home2 /home3 /home4 /opt /opt1 /opt2 /tmp Remarque : /home est sur le disque 0 (cOt0d0s0) . C'est la partition où nous avions mis les comptes des administrateurs systèmes . A priori , à titre d'exercice , on peut formater ( commande format le disque 2 qui ne contient que les données des utilisateurs - étudiants et profs -. 4 1.3 mise en réseau du serveur, d'une station 1.3.1 identier l' interface réseau , le routage Pour connaitre la(les) interface(s) réseau du système, utiliser la commande ifconfig : # ifconfig -a lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232 inet 127.0.0.1 netmask ff000000 le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500 inet 193.49.201.10 netmask ffffff00 broadcast 193.49.201.255 ether 8:0:20:86:37:f1 lo0 : interface loopback le0 : interface Ethernet. Dans cet exemple , elle est active ( UP ), l'adresse IP est 193.49.201.10, le masque est 255.255.255.0 et le broadcast est 193.49.201.255 L'E450 est doté de deux interfaces réseau , une fast Ethernet RJ45 (10/100Mb/s) (nom hmeo ou le0 ?), et une gigabit (ge0) -bre optique-. Les stations , n'ont qu'une seule interface réseau hmeo Pour connaître la table de routage : # netstat -nr Routing Table: Destination -------------------127.0.0.1 193.49.201.0 224.0.0.0 default Gateway Flags Ref Use -------------------- ----- ----- -----127.0.0.1 UH 0 1721 193.49.201.10 U 3 5532 193.49.201.10 U 3 0 193.49.201.1 UG 0 9658 Interface --------lo0 le0 le0 -> kesako? l'interface 193.49.201.10 a donc accès à tout le réseau 193.49.201.0 (Destination), pour sortir elle passe par la passerelle (Flags UG , G comme gateway ) dont l'adresse IP est 193.49.201.1 5 1.3.2 congurer l' interface réseau, le routage # ifconfig le0 193.49.201.10 netmask 255.255.255.0 broadcast 193.49.201.255 # route -n add default 193.49.201.1 1 -> passerelle par défaut avec une métrique=1 # ifconfig le0 up -> si elle n'est pas déjà active 1.3.3 conguration permanente de l'interface réseau : chiers A priori , la liste des chiers à modier (résultat d'un find sur l'adresse IP d'une station) devrait être : /etc/inet/hosts /etc/net/ticlts/hosts /etc/net/ticots/hosts /etc/net/ticotsord/hosts /etc/nodename /etc/hostname.hme0 /etc/netmasks . . <---hosts & IP <--- hosts idem " " " En pratique, seuls les chiers hosts, nodename, hostname.hme0, netmasks devraient être modiés. En cas de problèmes , vérier le script /etc/init.d/rootusr.sh (lien /etc/rcS.d/S30rootusr.sh) qui est le script d'initialisation minimum du réseau . /etc/hosts : <lma:marion 43>more /etc/hosts # # Internet host table # 127.0.0.1 localhost 193.49.201.10 lma lma.univ-littoral.fr 193.49.192.14 lma2 lma2.univ-littoral.fr . . . . . . 6 /etc/resolv.conf search univ-littoral.fr #--> recherche du domaine par défaut nameserver 195.220.130.2 #--> serveur DNS 1 nameserver 195.220.130.10 #--> serveur DNS 2 /etc/defaultrouter : contient l'adresse IP de la passerelle /etc/netmasks : contient masque du réseau/sous-réseau <lma:marion 43>more /etc/netmasks # # network-number netmask # 193.49.201.0 255.255.255.0 <lma:marion 43>more /etc/hosts # # Internet host # 127.0.0.1 193.49.201.10 193.49.192.14 . . table localhost lma lma.univ-littoral.fr lma2 lma2.univ-littoral.fr . . . . 1.4 conguration et gestions des imprimantes 1.4.1 imprimantes HP installer jetadmin (préinstallé ?) ou récupérable sur http://www.hp. com/ 7 1.4.2 cupsd 1.5 gestion des logiciels 1.5.1 gestion des packages : commandes pkgadd, pkgrm ... pkgadd : ajouter une application, pkginfo : informations sur l'application installées pkgchk : vérication de l'intégrité d'un package lmac.univ-littoral.fr[88]: pkgadd -d apache-1.3.3-sol7-sparc-local The following packages are available: 1 APapache apache (sparc) 1.3.3 Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: 1 Processing package instance <APapache> from </usr/local/apache-1.3.3-sol7-sparc-local> apache (sparc) 1.3.3 Apache Server Project 1.5.2 patch Tous les patch , notamment de sécurité , sont accessibles soit par un contrat de maintenance - ce que nous avions à l'Université (envoi de CD une à deux fois par an -), soit téléchargeables sur le site http://sunsolve.sun. com/ lmac . univ− l i t t o r a l . f r [ 8 8 ] : The following 1 APapache packages are pkgadd −d apache − 1 . 3 . 3 − s o l 7 −s p a r c − l o c a l available : apache ( sparc ) 1.3.3 8 Select all package ( s ) packages ) . Processing ( you wish default : package to all ) instance ( or [? ,?? ,q ] : 1 process <APapache> ' all ' from ( sparc ) 1.3.3 Server process </ u s r / l o c a l / a p a c h e apache Apache to Project 9 − 1 . 3 . 3 − s o l 7 −s p a r c − l o c a l > Chapitre 2 administration des comptes administration réseau (NIS , NFS) 2.1 comptes utilisateurs La création des comptes se faisait manuellement en modiant les chiers suivants : 2.1.1 modications minimum 1. /etc/yppasswd : login (identiant), UID (matricule !), GID (groupe) GCOS (nom prénom description...), repertoire , shell . Remarque : le chier Solaris standard est /etc/passwd. Seuls les comptes locaux sont dans le chier /etc/passwd , et l'ensemble des utilisateurs a été déporté dans le chier /etc/yppasswd . C'est une règle disons d'usage lorsque NIS est utilisé ( cf. section suivante ) 2. /etc/shadow : ajout d'une ligne, modication de l'UID, le mot de passe crypté est laissé tel quel, il sera forcé ultérieurement par la commande yppasswd 3. /etc/netgroup : ajout de l'utilisateur ... pour qu'il puisse se loguer ! 4. mkdir login_compte :création du répertoire utilisateur 5. # chmod 711 login_compte : les droits sont xés à (drwx--x--x) 10 6. # cd /var/yp ; make : compilation des maps NIS. 7. # cd ~administrateur/ouverture_compte/modele 8. # tar cf - . | (cd ~login_compte ; tar xvf -) : transfert de tous les chiers proles sur le nouveau compte. 9. chown -R login_compte:groupe ./login_compte Remarque : il est important de faire un copie de sauvegarde des chiers à modier avant toute modication : cp -p /etc/yppasswd /etc/yppasswd.old cp -p /etc/shadow /etc/shadow.old # ATT les .old existe > message cp -p /etc/netgroup /etc/netgroup.old 2.1.2 espace disques utilisateurs : les quotas sur disques Pour éviter tout blocage de partition , les quotas ont été mis en place . Il y a deux types de quota : quota hard : quota strict, l'utilisateur ne peut le dépasser. quota soft : quota que l'utilisateur peut provisoirement ( 4 jours ) dépasser ( sans pour autant dépasser le quota hard . Au-delà de 4 jours, le compte est bloqué ; seul l'administrateur peut débloquer la situation. Le réglage des quotas pour un utilisateur s'eectue au moyen de la commande edquota : edquota -p prototype-user nouveau_login Remarque : S'il existe un compte témoin (déjà réglé), sur la même la même partition que le nouvel utilisateur, on peut rapidement appliquer la même politique de quotas grâce à la commande : edquota -p prototype-user nouveau_login Enn , un utilisateur peut vérier son espace disque par la commande 11 quota -v (Il peut être judicieux de placer cette commande dans le .cshrc de l'utilisateur de sorte qu'il puisse contrôler son niveau d'utilisation à cahque fois qu'il ouvre un terminal 2.1.3 - 2.2 alias mail : correspondance prénom.nom -> login et inversement /etc/aliases (correspondance premon.nom login pour l'adresse prenom) /usr/local/etc/mail/revaliases (opération) inverse /usr/ucb/newaliases -> reconstruit la base des alias /usr/lib/sendmail -bi -oA/usr/local/etc/mail/revaliases -> idem pour revaliases gestion centralisée des comptes utilisateurs par NIS Avertissement : Bien que Solaris 2.x propose une nouvelle version de NIS (NIS+), nous avons mis en ÷uvre la version classique . 2.2.1 mise en place du domaine NIS Coté serveur la mise en service de NIS se fait grâce à la commande ypinit -m :il sut de rentre le hostname du serveur ( et éventuellement des serveurs secondaire ) . Côté client, l'initialisation se fait grâce à la commande ypinit -c . La déclaration dynamiquement du nom de domaine NIS se fait grâce domainname nom_du_domaine (si il est déjà déni, la commande sans argument renvoit le nom de domaine). Pour le xer, placer le nom de domaine dans le chier /etc/defaultdomain , chier consulté lors du boot par les scripts de démarrage. 2.2.2 services : côté serveur, côté client 1. les démons à lancer sont : 12 ypserv et ypbind sur le serveur ypbind seulement sur les clients. 2. Démarrage Arrêt des services /usr/lib/netsvc/yp/ypstart /usr/lib/netsvc/yp/ypstop Note : en cas de problème 1. s'assurer que le portmapper est bien lancé /sbin/portmap , 2. s'assurer que ypbind ait bien pu s'enrégistrer auprès du portmapper via les commandes rpcinfo -p localhost et/ou rpcinfo -u localhost ypbind . 2.2.3 netgroup : chier /etc/netgroup En pratique un netgroup est un nom associé à un triplet (machine, utilisateur, nom de domaine) ou à un autre nom . un exemple vaut mieux qu'un long discours : # ceci est un commentaire : user licence (,carla,) (,antoine,) (,toto,) maitrise (,jean,) (,agathe,) (,theblues,) etudiants maitrise licence # machine salle1 (sun1,,) (sun2,,) (sun3,,) salle2 (sparc1,,) (sparc2,,) machines salle1 salle2 Remarques : les champs laissés blancs fonctionnent comme des wild cards . On peut donc mettre plus de contraintes en ne permettant pas l'accès à tel ou tel utilisateur : (salle1,michel,) par exemple ne devrait avoir accès qu'à la salle1 et pas à la salle2, en pratique , on se contente de modier le chier /etc/netgroupà chaque fois que l'on ajoute un utilisateur (sinon il ne pourra se connecter sur les stations clientes) et à chaque fois que l'on rajoute une machine cliente (sinon, elle ne pourra pas monter les partitions par NFS sur son système de chier - cf. section NFS) 13 2.2.4 /etc/nsswitch.conf et map NIS Le chier /etc/nsswitch.conf permet de congurer comment et dans quel ordre de priorité, le client accède à l'information. Sur chaque ULTRA 5 cliente, les seuls paramètres du chier à modier sont : passwd: group: hosts: netgroup: compat compat files nis dns nis commentaires : hosts : files nis dns signie que pour la résolution de nom, la machine consultera d'abord le chier /etc/hosts , ensuite la map hosts NIS, et ensuite (si le nom n'est toujours pas résolu), s'adressera au DNS ( donc consultera le chier etc/resolv.conf pour connaître le serveur DNS etc... , l'option compat pour passwd et group , permet d'utiliser les options + et - (des clefs du chier netgroup, dans les chiers /etc/passwd et /etc/group, ainsi pour que l'ensemble des étudiants puissent se connecter sur une station cliente, il sura d'éditer le chier /etc/passwd et d'ajouter la ligne : +@etudiants:::::: 2.2.5 commandes utiles Toutes ces commandes peuvent être lancées à partir d'un client -par exemple - pour vérier le bon fonctionnement de NIS : ypcat -x ypcat map ywhich ypdomainname -> -> -> -> liste les map nis liste la map. ex: ypcat passwd , ypcat hosts renvoit le nom du serveur renvoit le nom de domaine NIS Toute modication des chiers /etc/yppasswd /etc/netgroup doit s'accompagner de la recompilation des maps sur le serveur NIS : 14 # cd /var/yp # make 2.3 export des espaces disques sur les stations clientes : NFS 2.3.1 côté serveur : /etc/dfs/dfstab Le serveur E450 est conguré en serveur NFS. Le serveur NFS est lancé par la commande /etc/init.d/nfs.server start . La syntaxe du chier /etc/dfs/dfstab est du type : # Export comptes administrateurs share -F nfs -o rw=mach_unix_dess # Exports comptes maitrise share -F nfs -o rw=salle2 # Exports comptes dess share -F nfs -o rw=salle1 /home /home1 /home2 où salle1 et salle2 sont dans cette exemple les noms des machines dénies dans le chier /etc/netgroup (cf. NIS) 2.3.2 côté client :/etc/vfstab 15 Chapitre 3 autres services réseaux : inetd ,DNS, sendmail, www, samba, dhcp,ntp ... 3.1 contrôle d'applications réseau via inetd : ftp telnet etc. Nombreux sont les services contrôlés directement par le super démon réseau inetd dont le chier de conguration est /etc/inet/inetd.conf . On notera en particulier les services suivants : ftp telnet login exec uucp Pour invalider un service il sut de le commenter avec un # dans le chier de conguration /etc/inet/inetd.conf, puis de relancer inetd ( kill -1 <pid-d'inetd> ) 3.1.1 inetd et sécurité Bien souvent on considère utile de supprimer les services qui permettent de trouver facilement des informations sur les utilisateurs connectés au système , à savoir : finger , systat, netstat, ruserd, rexd et les services 16 de connexion à distances tels que rlogin, ftp, telnet 1 , tftp 2 . Remarque ftp : les utilisateurs interdis de ftp sont ( en principe root ) notés dans le chier /etc/ftpusers 3.2 DNS calais était DNS secondaire et serveur MX Il y aura donc des modifs faire /etc/name.boot /var/dns/root.cache /var/dns/hosts 3.3 www : serveur apache 3.4 samba 3.5 dhcp 3.6 ntp 1 on préferera leurs homologues sécurisés c.à.d. sftp et ssh utilisé sur l'Entreprise 450 pour les imprimantes : je n'en vois pas l'intérêt. Il est en revanche indispensable pour connecter des terminaux X. 2 tftpdétait 17 Chapitre 4 sauvegarde et restauration L'entreprise est doté d'un lecteur de bande (160 mm , 7 Gb). Nous utilisions l'utilitaire ufsdump pour sauvegarder les diérentes partitions tant sur les clients que sur le serveur. 4.1 sauvergarde avec l'utilitaire ufsdump 4.1.1 script de backup de sauvegarde du serveur 4.1.2 sauvegarde d'un station cliente sur le lecteur de bande du serveur Il est tout à fait possible de faire une sauvegarde de station cliente sur le lecteur de bande du serveur. 1. Sur le serveur , en root valider l'accès en root du client via le chier /.rhosts <serveur># cat /.rhost client.univ-littoral.fr root 2. Sur le client, lancer le script de sauvegarde ./backup_full_client : #! /bin/sh 18 # # backup_full_client # #Ph.Marion avril 2000 ###################################################### # Full Backup client ultra5 lmpa # ses partions : # # / /usr /var /home /opt /usr/local (c0t0d0) # # Phase restore pour restituer par ex /usr (position 1) # # /usr/bin/mt -f /dev/rmt/0c rewind # /usr/bin/mt -f /dev/rmt/0cn fsf 1 (Position 1) # /usr/sbin/ufsrestore (i ou r)vbf 126 /dev/rmt/0cn # # Procedure backup : # # 1) sur le serveur, valider l'acces client # 2) Sur le client, en root puis lancer ce backup # ###################################################### /bin/sleep 5 /usr/sbin/ufsdump 0bf 126 serveur:/dev/rmt/0cn /dev/dsk/c0t0d0s0 /usr/sbin/ufsdump 0bf 126 serveur:/dev/rmt/0cn /dev/dsk/c0t0d0s6 /usr/sbin/ufsdump 0bf 126 serveur:/dev/rmt/0cn /dev/dsk/c0t0d0s3 /usr/sbin/ufsdump 0bf 126 serveur:/dev/rmt/0cn /dev/dsk/c0t0d0s7 /usr/sbin/ufsdump 0bf 126 serveur:/dev/rmt/0cn /dev/dsk/c0t0d0s4 /usr/sbin/ufsdump 0bf 126 serveur:/dev/rmt/0c /dev/dsk/c0t0d0s5 3. Enn dévalider l'acces root de la station cliente sur le serveur serveur # cp /dev/null /.rhosts serveur # chmod 400 /.rhosts 19 4.2 restauration : ufsrestore 4.2.1 exemple de récupération d'une partition complète Reprenons l'exemple du script backup_full_client ci-dessus. La procédure de restauration des d'une partiton est d'ailleurs indiquée -en commentaire dans l'en-tête du script : Si l'on veut restaurer par exemple la partition /usr qui était la 2e partition sauvegardées par ufsdump, on procédera comme suit : 1. rembobinage complet de la bande # /usr/bin/mt -f /dev/rmt/0c rewind 2. positionnement sur le 2e # /usr/bin/mt -f /dev/rmt/0cn fsf 1 Remarque : devrmt0cn, n signiant no rewind 3. restauration proprement dite : # /usr/sbin/ufsrestore (i ou r)vbf 126 /dev/rmt/0cn 4.2.2 exemple de recupération de chier en mode interactif avec ufsrestore restauration du mail à partir d'une bande . 0)Se placer dans un répertoire temporaire /var/tmp/bidon 1) rembobinage: --> pas de pbs ---------------------------- 20 lma.univ-littoral.fr[162]: mt -f /dev/rmt/0cn rewind 2) placement sur le point d'ancrage : i.e 2ème filesystem du ufsdump ---------------------------------------------------------------lma.univ-littoral.fr[163]: mt -f /dev/rmt/0cn fsf 2 3) ufsrestore mode "interactif ,i verbeux v , f -> precise le device en entree ---------------------------------------------------------------lma.univ-littoral.fr[164]: ufsrestore ivf /dev/rmt/0cn Verify volume and initialize maps Media block size is 96 Dump date: Fri Jan 22 14:25:34 1999 Dumped from: Fri Jan 22 11:29:19 1999 Level 9 dump of /var on lma.univ-littoral.fr:/dev/dsk/c0t3d0s7 ---->suis bien sur "/var" Label: none Extract directories from tape Initialize symbol table. ufsrestore > ls .: 2 *./ 90704 adm/ 30239 mail/ 105785 tmp/ 2 *../ 128409 lp/ 124658 spool/ ufsrestore > cd mail ------------------------------> commande cd et ls OK !!! ufsrestore > ls ./mail: 30239 ./ 2 *../ 30252 toto 30214 titi 30269 jeanmarc 30234 daniel 30245 marion ufsrestore > add /mail/marion ---> ajout dans la liste de fichiers a extraire Make node ./mail - -------> de marion... creation du node OOOOKKKK 21 ----------> on peut meme verifier avec ls et cd que le fichier est bien dans ----------> la liste: ufrestore place des * devant les noms de fichiers ---------->que l'on veut extraire ufsrestore > extract Extract requested files You have not read any volumes yet. Unless you know which volume your file(s) are on you should start with the last volume and work towards the first. Specify next volume #: 1 ------> taper 1 ??? ----attendre----set owner mode [yn] n quit 4.2.3 transfert de partition avec ufsdump - ufsrestore Si par exemple, la partition /usr du disque est pleine et que l'on veuille transférer l'intégralité de /usr sur une partition précédemment créée, on procédera comme suit : #mount /dev/dsk/c0t1d0s5 /mnt # on monte la nvelle partition #cd /mnt #ufsdump 0bf 126 - /usr | ufrestore rf - où : 0 : niveau 0 (tous les chiers sont sauvegardés) b : mode blocs 126 : taille des blocs ? (à vérier) r : restaure recursivement tous les chiers, répertoires et sous-répertoires f :sortie de ufsrestore dans un chier..., - :...qui dans cet exemple, la sortie stdout soit le terminal dans lequel nous avons lancé la commande. 22 4.2.4 cas particulier de la réinstallation de la partition de démarrage sur une autre partition : installation du bootblock La copie du programme de démarrage se trouve sur /usr/platform/<nom_plate-forme>/lib/f . Pour l'installer , il sut de lancer la commande installboot : #cd /usr/platform/`uname -i`/lib/fs/ufs #installboot bootblock /dev/dsk/c0t1d0s0 Pour forcer l'enrégistrement de cette modication de partition , il faudra rebooter la machine avec l'option -r de l'OpenBoot : OK boot -r 4.3 sauvegarde incrémentale : rdi-backup En ce qui concerne les comptes utilisateurs , il me parait judicieux de mettre en place un système de sauvegarde incrémentale. On peut notamment utiliser l'utilitaire rdiff-backup (qui se trouve dans les contributions du domaine publique), très simple à mettre en ÷uvre . Il peut être intéressant également de pouvoir récupérer un projet dans l'état où il se trouvait il y a 7 jours. Tout tient dans un seul script (rdiff-backup.csh) : #!/bin/csh -f ####################################### #auteur: Ph. M #date :decembre 2005 # #objet: sauvegarde incrementale de tous les comptes # # ( /home/users /home/guests ) #a l'exception de # - liens vers /archives 23 # - ~/tmp , ~/TMP # - cache mozilla /home/*/users/.mozilla/**/**/Cache # - cache netscape # - liens socket ...( option :--exclude-special-files) #crontab: tous les jours ####################################### # # S. incrementales # ---------------#rdiff-backup --remove-older-than 2W --force /le_repertoire_de_sauvegarde #crontab: tous les jours ####################################### # Recuperation exemple # ------------------#1) rdiff-backup -r now /backup-user/home/users/marion/admin /Divers/test-rdiff # #2) recup de la version d'il y a 10 jours # # rdiff-backup -r 10D /backup-user/home/users/marion/fichier /tmp/fichier # ###################################### rdiff-backup --exclude-special-files \ --exclude '/home/**/**/.mozilla/**/**/Cache' \ --exclude '/home/**/**/.netscape/cache' \ --exclude '/home/**/**/tmp' \ --exclude '**.exe' \ --exclude '**.EXE' \ --exclude '**/core.*' \ --exclude '**/a.out' \ --exclude '**/*.o' \ --exclude '**/*~' \ --exclude '**/*%' \ --exclude '**/*.bak' \ --exclude '/home/lost+found' \ --exclude '/home/old-saxo' \ /home /backup-user/le_repertoire_de_sauvegarde 1. à la 1re la sauvegarde est complète, 2. on l'exécute toutes les nuits ( lancer l'exécution via la crontab ) 24 3. on exécute également toutes les nuits ( crontab ) la commande suivante pour éliminer les plus anciennes : rdiff-backup --remove-older-than 2W --force /le_repertoire_de_sauvegarde Remarque 1 : 2W (2 semaines) peut être ajusté en fonction de la taille de la partition de sauvegarde) Remarque 2 : Il est bien évidemment intéressant que le /le_repertoire_de_sauvegarde soit en en réalité une partition qui se situe sur un autre PC- station que le serveur , monté par NFS 25