Previous Contents Next

10   Corrigé du DS du 26 novembre 2003

Examen d'une durée de deux heures avec tous les documents autorisés (y compris ordinateurs).

Le barême approximatif est de 10 points pour chaque exercice.

10.0.29   Systèmes de fichiers

Voici le résultat de deux commandes tapées sur le serveur douaisis :
$ cat /etc/fstab
/dev/hda1        /                ext3      defaults,errors=remount-ro 0      1
/dev/hda5        /tmp             ext3      rw                         0      2
/dev/hda6        /var             ext3      rw                         0      2
/dev/var_spool/spool /var/spool   ext3      rw                         0      2
/dev/var_log/log /var/log         ext3      defaults                   0      2
/dev/sda1        /home            ext2      rw,usrquota                0      2
/dev/sda2        /usr/local       ext2      rw                         0      2
/dev/hda2        none             swap      sw                         0      0
/dev/hda7        /usr/src         ext3      rw                         0      2
/dev/fd0         /floppy          auto      defaults,user,noauto       0      0
proc             /proc            proc      defaults                   0      0
/dev/cdrom       /cdrom           iso9660   defaults,ro,user,noauto    0      0
et
# vgdisplay -v
    Finding all volume groups
    Finding volume group "var_log"
  --- Volume group ---
  VG Name               var_log
...
  VG Size               8.50 GB
  PE Size               32.00 MB
  Total PE              272
  Alloc PE / Size       272 / 8.50 GB
  Free  PE / Size       0 / 0
  VG UUID               NGtqE4-VXI9-6NWb-9ihz-v1AP-q6Gw-wupRy6

  --- Logical volume ---
  LV Name                /dev/var_log/log
  VG Name                var_log
...
  LV Size                8.50 GB
...

  --- Physical volumes ---
  PV Name               /dev/sdc1
  PV UUID               ccgeEP-NmAA-5jQO-lnz4-G36b-GQmM-jRarm3
  PV Status             allocatable
  Total PE / Free PE    272 / 0

    Finding volume group "var_spool"
  --- Volume group ---
  VG Name               var_spool
...
  VG Size               17.03 GB
  PE Size               32.00 MB
  Total PE              545
  Alloc PE / Size       545 / 17.03 GB
  Free  PE / Size       0 / 0
  VG UUID               PuH5Mm-VD3f-vBoY-V5qG-Qmpk-m5Xi-X2Tle8

  --- Logical volume ---
  LV Name                /dev/var_spool/spool
  VG Name                var_spool
...
  LV Size                17.03 GB
...

  --- Physical volumes ---
  PV Name               /dev/sdb1
  PV UUID               V7eBG0-LZpi-LZBX-CUQ0-FgVQ-3JzS-kLX3gj
  PV Status             allocatable
  Total PE / Free PE    545 / 0
Avec ces données répondez aux questions suivantes :
  1. Donnez la liste des systèmes de fichiers qui seront vérifiés au démarrage du serveur douaisis, et l'ordre dans lequel cela sera effectué.
    Il suffit de regarder les lignes de /etc/fstab avec un chiffre différent de zéro en dernière colonne. On trouve /, /tmp, /var, /var/spool, /var/log, /home, /usr/local, et /usr/src. Le système de fichiers racine sera vérifié en premier, suivi de tous les autres dans un ordre indeterminé.
  2. Si le serveur est arrêté brutalement (par exemple suite à une coupure de courant), les systèmes de fichiers seront vérifiés. Indiquez lesquels le seront assez rapidement et lesquels le seront au bout d'un temps non négligeable. Pourquoi ?
    Tous les systèmes de fichiers à vérifier sont de type ext3 sauf /home et /usr/local qui sont encore en ext2. Le premier type représente un système de fichiers journalisé avec une vérification rapide au démarrage et le second un système de fichiers traditionnel nécessitant une vérification totale de la cohérence du système. Tous les systèmes de fichiers seront donc rapidement vérifiés et réparés sauf /home et /usr/local qui ne le seront qu'après une vérification exhaustive. Par ailleurs /home est un système de fichiers avec gestion de quotas, le système va mettre ces quotas à jour au démarrage, cela peut prendre un certain temps ...
  3. Que signifie l'option de montage du système de fichiers / ?
    L'option errors=remount-ro signifie qu'il faut remonter la racine en lecture seule si l'on détecte une erreur sur le système de fichiers (il peut s'agir d'une erreur sur un bloc du disque /dev/hda1 ou d'une incohérence dans le système de fichiers). Cela permet de ne pas complétement détruire le système de fichiers en propageant des valeurs incorrectes.
  4. On laisse la possibilité à un utilisateur de monter le système de fichiers d'une disquette avec le choix du type de système de fichiers. Un utilisateur ne pourrait-il pas en profiter pour exécuter un programme en mode suid pour l'utilisateur root ?
    Pas sur un système Linux en tout cas, car sur un tel système d'exploitation, l'option user implique les options noexec, nosuid et nodev qui empêchent (à priori) toute tentative d'usurpation de droits.
  5. Que se passerait-il si on enlevait l'option ro sur la dernière ligne du fichier /etc/fstab ?
    C'est utile pour graver un CD-ROM ? Noooooooon !! Ca ne ferait pas grand chose le cdrom serait quand même monté en lecture seule. Ca supprime juste l'affichage d'un message d'avertissement indiquant que le système de fichiers ne peut être monté qu'en lecture seule.
  6. Combien de groupes de volumes sont utilisés sur douaisis ? Combien de partitions physiques par groupe de volumes ? Combien de partitions virtuelles par groupe de volumes ?
    On trouve deux groupes de volumes sur douaisis : var_log et var_spool. Chacun utilise une partition physique /dev/sdc1 et /dev/sdb1. Chacun sert de support à une partition virtuelle /dev/var_log/log et /dev/var_spool/spool.
  7. Pouvez-vous intuiter si les groupes de volumes utilisent des disques entiers ou seulement des portions de disques ? Qu'aurait-on du faire pour que les choses soient bien claires ?
    On ne trouve pas de trace d'autre partition de /dev/sdb ou de /dev/sdc dans le fichier /etc/fstab. Il y a donc donc fort à parier que les disques entiers soient utilisés par les groupes de volumes. Si c'est bien le cas, il aurait été plus clair d'utiliser directement /dev/sdb et /dev/sdc comme PVs (physical volumes).
  8. Dites sur quelles partitions sont stockés les fichiers suivants :
    /var/run/apache.pid
    /var/log/syslog
    /var/spool/cyrus/mail/r/user/rex/24.
    
    Le premier fichier est directement stocké sur la partition /dev/hda6, le second, via le groupe de volumes var_log, se retrouve sur /dev/sdc1 et le dernier, via le groupe var_spool, sur /dev/sdb1.
  9. La machine douaisis comportait initialement 4 disques SCSI appelés sda, sdb, sdc et sdd par le système d'exploitation. Le nommage se fait en utilisant l'ordre des cartes SCSI sur le bus PCI puis l'ordre des identifiants de disques sur les bus SCSI. Le disque système sdc tombait en panne et a été remplacé par un disque IDE (hda). Le disque /dev/sdc a été enlevé, donnez les correspondances entre les anciens et les nouveaux noms des disques SCSI.
    Vu le système de nommage, les disques sda et sdb n'ont pas changé de nom par contre sdd s'est retrouvé sous le nom sdc.
  10. Suite au changement de disque système, la seule modification système a consisté à remplacer sdc par hda dans les fichiers /etc/fstab et /etc/lilo.conf. Qu'est-ce que cela signifie au niveau de la gestion des PV par LVM ?
    Aucune modification n'a été effectuée sur le groupe de volumes var_log bien que son PV ait changé de nom (passage de /dev/sdd1 à /dev/sdc1). Cela signifie que LVM fait un parcours des partitions physiques à chaque démarrage de la machine et reconnait ses PVs par des identifiants stockés sur ces PVs et non pas par les noms donnés par le système d'exploitation aux partitions et aux disques.
  11. On souhaite remplacer le disque /dev/sdc sur douaisis par un nouveau disque (de taille supérieure) et dans le même temps ne plus utiliser qu'un groupe de volumes sur cette machine. Donnez la marche à suivre pour effectuer cette opération (allez jusqu'à donner les éventuelles commandes à taper).
    Il faut commencer par installer le nouveau disque (en le faisant apparaitre comme /dev/sdd par exemple).
    Le créer en tant que PV par la commande
    pvcreate /dev/sdd
    
    L'ajouter au groupe de volume var_spool par la commande
    vgextend var_spool /dev/sdd
    
    Créer une nouvelle partition virtuelle par
    lvcreate -LxG -nlog var_spool
    
    Formatter cette partition par mkfs et rapatrier les données de /dev/var_log/log en utilisant la commande tar ou cp -ar. Il est alors possible de détruire le groupe de volumes var_log (utilisation de lvremove, vgchange et vgremove). Le nom du groupe étant désormais plutôt idiot on le change en var par un
    vgrename var_spool var
    
    Enfin il faut modifier /etc/fstab en remplaçant /dev/var_spool/spool par /dev/var/spool et /dev/var_log/log par /dev/var/log.

10.0.30   Système de fichiers NFS

Voici un extrait du fichier /etc/exports du serveur hainaut :
/usr/local      172.26.16.0/255.255.240.0(sync,no_root_squash) \
                172.26.32.0/255.255.240.0(sync,no_root_squash) \
                193.48.64.0/255.255.255.0(sync,rw,no_root_squash)
Répondez aux questions suivantes :
  1. Que signifie l'acronyme NFS ?
    En version originale cela donne "Network File System" et en version française quelque chose comme système de fichiers réseau.
  2. Quel est la fonction du fichier /etc/exports ?
    Le fichier /etc/exports spécifie les répertoires à exporter par NFS et les caractéristiques de l'exportation (en lecture, en lecture écriture, pour une machine précise, pour un réseau IP entier, etc.).
  3. Dites pourquoi les restrictions d'accès données dans le fichier /etc/exports d'hainaut ne permettent pas d'assurer totalement la confidentialité des données du répertoire /usr/local.
    Les restrictions portent sur l'appartenance d'une machine à un réseau IP (par exemple le réseau d'enseignement de l'école). Il est très facile (si l'on a accès à une prise réseau située dans le VLAN hébergant le réseau d'enseignement) de connecter une machine avec une adresse dans ce réseau et donc d'avoir accès au répertoire /usr/local du serveur hainaut.
  4. Quelle commande taper sous Unix pour monter le système de fichier exporté par hainaut ?
    La commande à taper est : mount -t nfs hainaut:/usr/local /mnt.
  5. On suppose que vous êtes administrateur sur la machine ayant effectué le montage NFS. Pouvez-vous accéder directement aux fichiers exportés par hainaut ?
    Il est possible d'accéder directement aux fichiers importés d'hainaut en tant que root, en effet l'option no_root_squash étant spécifiée les utilisateurs root distants se retrouvent avec les droits de root sur le système de fichiers NFS. L'option par défaut est root_squash qui restreint les administrateurs distants aux droits de nobody.
  6. Est-il possible d'écrire sur le système de fichiers exporté par hainaut à partir de tous les réseaux précisés dans le fichier /etc/exports ? Justifiez votre réponse.
    Le système de fichiers est exporté en lecture et écriture uniquement pour le réseau 193.48.64.0/255.255.255.0 (option rw, par défaut l'option ro -- read only -- est utilisée). Donc seule une machine de ce réseau va pouvoir modifier quelque chose dans le répertoire /usr/local d'hainaut.

Previous Contents Next