Table des matières
Solution - LAB #1
Constatez l'absence du MBR
Démarrez la machine virtuelle LAB1. Vous constaterez que la machine ne démarre pas et affiche le message :
FATAL: No bootable medium found! System halted.
Ce message ne provient pas de Linux. Il est donc évident qu'il y a un problème lié au MBR.
Attachez le LiveDVD de CentOS 6.4 à votre machine virtuelle LAB1 et démarrez à partir du DVD.
Ouvrez un terminal est passez en tant que root.
Constatez les partitions présentes sur /dev/sda :
[centoslive@livecd ~]$ su - [root@livecd ~]# fdisk -l
Vous apercevrez la présence de trois partitions :
- /dev/sda1 - /boot
- /dev/sda2 - /
- /dev/sda3 - swap
Montez /dev/sda2 sur /mnt :
[root@livecd ~]# mount /dev/sda2 /mnt
Montez /dev/sda1 sur /mnt/boot :
[root@livecd ~]# mount /dev/sda1 /mnt/boot
Réinstallez grub sur /dev/sda :
[root@livecd ~]# grub-install --recheck --root-directory=/mnt /dev/sda
Redémarrez la machine virtuelle à partir de son disque dur. Vous consterez que la machine ne démarre pas en indiquant un simple trait -. Ce comportment est indicatif d'un problème avec initramfs.
Démarrez donc la machine virtuelle à partir du LiveDVD.
<note tip> Cette panne peut être reproduite avec la commande : dd if=/dev/zero of=/dev/sda count=446 bs=1. </note>
Constatez l'absence du Journal sur /dev/sda1
Etant donné que le disque dur a été endommagé, il est raisonable de faires quelques tests :
[root@livecd ~]# fsck /dev/sda2 [root@livecd ~]# fsck /dev/sda1 [root@livecd ~]# dumpe2fs -h /dev/sda2 [root@livecd ~]# dumpe2fs -h /dev/sda1
Notez l'absence du journal sur le filesystem ext4 de /dev/sda1.
Replacez un journal sur /dev/sda1 :
[root@livecd ~]# tune2fs -j /dev/sda1
<note tip> Cette panne peut être reproduite avec la commande : tune2fs -O ^has_journal /dev/sda1. </note>
Recherchez le problème associé à initramfs
Montez /dev/sda2 sur /mnt :
[root@livecd ~]# mount /dev/sda2 /mnt
Montez /dev/sda1 sur /mnt/boot :
[root@livecd ~]# mount /dev/sda1 /mnt/boot
Regardez le contenu du répertoire /mnt/boot :
[root@livecd ~]# ls -l /mnt/boot
Notez l'absence de l'extention .img sur le fichier initramfs-2.6.32-358.18.1.el6.i686.
Renommez donc le fichier :
[root@livecd ~]# mv initramfs-2.6.32-358.18.1.el6.i686 initramfs-2.6.32-358.18.1.el6.i686.img
Redémarrez la machine virtuelle à partir de son disque dur. Vous consterez que la machine ne démarre pas.
En appuyant sur la touche échap, vous noterez que le système indique qu'il ne peut pas exécuter rcS.
Démarrez donc la machine virtuelle à partir du LiveDVD.
<note tip> Cette panne peut être reproduite avec la commande : mv initramfs-2.6.32-358.18.1.el6.i686.img initramfs-2.6.32-358.18.1.el6.i686. </note>
Utilisez la commande chroot
Montez /dev/sda2 sur /mnt :
[root@livecd ~]# mount /dev/sda2 /mnt
Montez /dev/sda1 sur /mnt/boot :
[root@livecd ~]# mount /dev/sda1 /mnt/boot
Utilisez la commande chroot :
[root@livecd ~]# chroot /mnt
Notez que le système vous informe clairement qu'il ne peut pas trouver /bin/bash.
Si la version de Linux sur le LiveDVD est la même que celle de la VM, copiez le fichier /bin/bash du LiveDVD vers la VM :
[root@livecd ~]# cp /bin/bash /mnt/bin
ou téléchargez bash à partir du LiveDVD et installez-le dans la VM :
[root@livecd ~]# yumdownloader bash [root@livecd ~]# rpm -Uvh --force --root=/mnt bash-4.1.2-15.el6_4.i686.rpm
Vérifiez ensuite que vous pouvez utiliser la commande chroot :
[root@livecd ~]# chroot /mnt
<note tip> Cette panne peut être reproduite avec la commande : rm /bin/bash. </note>
Créez l'utilisateur user1
Créez l'utilisateur user1 :
[root@centos ~]# useradd user1
Vous consterez que la commande echoue.
Utilisez la commande lsattr pour visualiser les attibuts du fichier /etc/passwd :
[root@centos ~]# lsattr /etc/passwd
Vous constaterez que l'attibut i a été placé sur ce fichier. Enlevez donc cet attribut :
[root@centos ~]# chattr -i /etc/passwd
Créez l'utilisateur user1 :
[root@centos ~]# useradd user1
Créez le mot de passe centos pour user1 :
[root@centos ~]# passwd user1
Redémarrez la machine virtuelle à partir de son disque dur.
<note tip> Cette panne peut être reproduite avec la commande : chattr +i /etc/passwd. </note>
Démarrez votre VM en mode graphique
Vous consterez que la machine virtuelle est en mode ligne de commande.
Connectez-vous en tant que root.
Constatez le niveau d'exécution de la machine :
[root@centos ~]# runlevel
Vous consterez que le système boot en runlevel 4.
Modifiez le fichier /etc/inittab pour que la machine démarre en mode graphique :
[root@centos ~]# vi /etc/inittab
Redémarrez la machine virtuelle à partir de son disque dur.
<note tip> Cette panne peut être reproduite avec la commande : vi /etc/inittab. </note>
Modifiez le mot de passe d'user1
Connectez-vous à la machine en tant que user1.
Ouvrez une console et essayez de modifier votre mot de passe :
[user1@centos ~]$ passwd
Vous consterez que vous obtenez une erreur :
... passwd: Erreur de manipulation du jeton d'authentification
Examinez les permissions sur le fichier /usr/bin/passwd :
[user1@centos ~]$ ls -l /usr/bin/passwd
Vous noterez que le SUID bit est absent.
Placez le SUID bit sur /usr/bin/passwd :
[user1@centos ~]$ su - [root@centos ~]# chmod u+s /usr/bin/passwd [root@centos ~]# exit
Modifiez votre mot de passe à Fenest0$ :
[user1@centos ~]$ passwd
<html>
Copyright © 2011-2016 Hugh Norris.<br><br> <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”><img alt=“Licence Creative Commons” style=“border-width:0” src=“http://i.creativecommons.org/l/by-nc-nd/3.0/fr/88x31.png” /></a><br />Ce(tte) oeuvre est mise à disposition selon les termes de la <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”>Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 3.0 France</a>.
</html>