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

Documents pareils