Vous êtes sur la page 1sur 4

Université Mohammed Premier

Ecole Nationale des Sciences Appliquées Oujda

M2 SICS

Administration système

Démarrage et niveaux de
fonctionnement

TP3

Anas Mokhtari
a.mokhtari@ump.ac.ma - anas.mokhtari@gmail.com

2020/2021
SICS Administration système ENSAO

1 Manipulation de GRUB
GRUB est la chargeur d’amorçage le plus utilisé dans les distributions Linux récentes.
Il existe deux versions majeures de GRUB :
— GRUB Legacy : La version originale de GRUB. La dernière version date en 2005.
— GRUB 2 : C’est une réécriture complète de GRUB. Elle porte de nombreux avan-
tages. C’est la version adoptée par la plupart des distributions Linux récentes.

1.1 Répertoire /boot


1. Déterminer les fichiers de configuration du noyau dans /boot
2. Noter les versions des noyaux Linux gérés par ces fichiers de configuration.
Le noyau Linux est sauvegardé dans le répertoire /boot/ sous le nom vmlinux* ou
vmlinuz* s’il est compressé.
3. Noter les versions des noyaux Linux présents dans le système.
4. Quelle est la taille de chacun de ces noyaux ?
5. Déterminer les versions notées dans les fichiers qui représentent le disque mémoire
initial.
6. Sachant que le fichier de configuration de GRUB est /boot/grub/grub.cfg pour
GRUB 2 et /boot/grub/menu.lst pour GRUB Legacy, déterminer la version du
GRUB installé dans votre machine.

1.2 Réinstaller GRUB 2


7. Supprimer le bootstrap présent dans le MBR par la commande :
dd if=/dev/zero of=/dev/sdX bs=446 count=1
ATTENTION ! ! ! : Cette commande mettra votre système en panne ! Ne
l’exécutez que dans une machine virtuelle de test.
N.B : Remplacer "sdX" par le nom correspondant au disque système.
8. Redémarrer votre machine et vérifier si le système démarre correctement.
9. Redémarrer par l’image ISO d’une distribution Linux.
10. Identifier le nom de la partition de démarrage (notée *) sur le disque en
listant les partitions par la commande : # fdisk -l /dev/sda
11. Monter la partition identifiée dans la répertoire /mnt/tmp (à créer).
12. Installer GRUB 2 par la commande :
— Cas de partition de démarrage (pour /boot) dédiée :
grub-install --boot-directory=/mnt/tmp /dev/sdX
— Cas de répertoire /boot dans le système de fichiers racine :
grub-install --boot-directory=/mnt/tmp/boot /dev/sdX
13. Redémarrer la machine et vérifier le bon lancement du système Linux installé.

TP3 1/3 2020/2021


SICS Administration système ENSAO

Pour reconfigurer GRUB, il est recommandé de configurer le fichier /etc/dafault/grub


au lieu du fichier /boot/grub/grub.cfg qui sera généré automatiquement après lance-
ment de update-grub.
14. Augmenter la durée (timeout) d’affichage du menu de GRUB à 5 secondes.
15. Mettre à jour cette modification pour générer un nouveau fichier grub.cfg en
exécutant la commande update-grub.
En terme de sécurité, l’accès au paramétrage de GRUB permet le contrôle total du
système Linux installé sans avoir besoin de données d’authentification !
Pour protéger le système contre tout accès malveillant, il faut protéger GRUB par un
mot de passe.
ATTENTION ! ! ! : Ce qui suit peut rendre le système inaccessible en cas de
mauvaise manipulation ! Ne l’exécutez que dans une machine virtuelle de test.
16. Ajouter à la fin du fichier script /etc/grub.d/00_header les lignes suivantes :
cat << EOF
set superusers="sics"
password sics 1234
EOF
Ceci va permettre de créer le mot de passe 1234 pour l’utilisateur sics de
type super-utilisateur.
17. Mettre à jour le fichier de configuration principal /boot/grub/grub.cfg par
la commande update-grub.
18. Redémarrer le système pour tester.
19. Refaire les mêmes étapes pour mettre cette fois-ci un mot de passe haché.
a) Lancer la commande grub-mkpasswd-pbkdf2
b) Remplacer la ligne du mot de passe 1234 (fichier 00_header) par la ligne
suivante :
password_pbkdf2 admin <haché généré par la commande précédente>
c) Remettre à jour le fichier grub.cfg.
20. Tester la nouvelle configuration.

2 systemd et gestion des unités


1. Déterminer le nombre d’unités installées dans votre système (units files).
2. Déterminer le nombre de services installés dans votre système (units files).
3. Déduire le pourcentage des services installés ( ServicesInstallés
U nitésInstallées
× 100).
4. Déterminer le nombre d’unités actives dans votre système.
5. Déterminer le nombre de services actifs dans votre système.
6. Déduire le pourcentage des services actifs ( ServicesActif
U nitésAvtives
s
× 100).

TP3 2/3 2020/2021


SICS Administration système ENSAO

7. Déterminer le nombre d’unités qui ont échoué au cours de leur démarrage.


8. Noter ces unités si elles ne sont pas nombreuses (< 10 unités).
9. Utiliser la commande journalctl -u <unite.service> pour inspecter la
cause de cet/ces échec(s).
10. Déterminer le nombre de targets dans votre système.
11. Utiliser l’action cat associée à la commande systemctl pour afficher le fichier
du service cron.
12. Dans le principe de fonctionnement de systemd, le lancement d’une unité
est conditionné par un ordre de démarrage. Par exemple, une unité U ne se
lancera qu’après le lancement de l’unité P et avant le lancement de l’unité S.
Utiliser l’action cat associée à la commande systemctl pour déterminer les
unités qui devront être démarrées avant le service rescue et celles qui devront
être lancées après ce service. Noter ces unités.
13. Lister les dépendances de la cible rescue. Noter seulement les dépendances
du 1er niveau.
14. Déterminer la target (runlevel) actuelle.
15. Déterminer la target par défaut.
16. Fixer la target par défaut à multi-user.
17. Basculer vers la target rescue.
18. Redémarrer le système par la commande systemctl.
19. Déterminer la target actuelle.
20. Remettre la target par défaut au runlevel initial.

TP3 3/3 2020/2021

Vous aimerez peut-être aussi