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>