Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

24.6. Protection de GRUB 2 par un mot de passe

GRUB 2 donne deux types de protection de mot de passe :
  • Un mot de passe est exigé pour pouvoir modifier les entreés de menu mais pas pour les entrées de menu boot existantes.
  • Un mot de passe est requis pour pouvoir modifier les entrées de menu et pour pouvoir démarrer un, plusieurs ou toutes les entrées de menu.

Configurer GRUB2 pour qu'un mot de passe ne soit exigé que pour les saisie de modification.

Pour demander une authentification de mot de passe afin de modifier les entrées GRUB2, suivre les étapes suivantes :
  1. Exécutez la commande grub2-setpassword en tant qu'utilisateur root :
    ~]# grub2-setpassword
  2. Saisir et confirmer le mot de passe :
    Enter password:
    Confirm password:
En suivant cette procédure, vous créerez un fichier /boot/grub2/user.cfg qui contient le hachage du mot de passe. L'utilisateur de ce mot de passe, root, est défini dans le fichier /boot/grub2/grub.cfg. Avec ce changement, pour modifier une entrée boot au moment de l'amorçage nécessite que vous spécifiez le nom d'utilisateur root et votre mot de passe.

Configurer GRUB 2 pour qu'un mot de passe soit exigé pour les saisies de modification et de booting.

Définir un mot de passe avec grub2-setpassword protègent les entrées de menu de modifications non autorisées, mais pas de booting non autorisé. Pour demander un mot de passe de booting d'entrée, suivre ces étapes après avoir défini le mot de passe avec grub2-setpassword :

Avertissement

Si vous oubliez le mot de passe GRUB2, il n'y aura pas de booting possible pour les entrées que vous allez reconfigurer dans la procédure suivante.
  1. Ouvrir un fichier /boot/grub2/grub.cfg .
  2. Cherchez l'entrée boot que vous souhaitez protéger avec le mot de passe en cherchant des lignes commençant par menuentry.
  3. Supprimer le paramètre --unrestricted du bloc d'entrée de menu comme dans l'exemple :
    [file contents truncated]
    menuentry 'Red Hat Enterprise Linux Server (3.10.0-327.18.2.rt56.223.el7_2.x86_64) 7.2 (Maipo)' --class red --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-c109825c-de2f-4340-a0ef-4f47d19fe4bf' {
            load_video
            set gfxpayload=keep
    [file contents truncated]
  4. Enregistrer et fermer le fichier.
Vous devez maintenant saisir le nom d'utilisateur et le mot de passe root pour le booting.

Note

Les changements au /boot/grub2/grub.cfg persistent quand de nouvelles versions de noyau sont installées, mais sont perdues quand on génère à nouveau grub.cfg par la commande grub2-mkconfig. Ainsi, pour conserver la protection du mot de passe, il vous faudra utiliser la procédure ci-dessus à chaque fois que vous utiliserez grub2-mkconfig.

Note

Si vous supprimez le paramètre --unrestricted de chaque entrée de menu dans le fichier /boot/grub2/grub.cfg, alors tous les noyaux nouvellement installés auront une entrée de menu créée sans --unrestricted et donc, héritera automatiquement la protection du mot de passe.

Mots de passe définis avant la mise à jour à Red Hat Enterprise Linux 7.2

L'outil grub2-setpassword a été ajouté dans Red Hat Enterprise Linux 7.2 et représente maintenant la méthode de choix pour définir les mots de passe GRUB 2. Ceci est en contraste avec les anciennes versions de Red Hat Enterprise Linux, où les entrées boot avaient besoin d'être spécifiées manuellement dans le fichier /etc/grub.d/40_custom, et les superutilisateurs dans le fichier /etc/grub.d/01_users.

Utilisateurs GRUB 2 supplémentaires

Les entrées boot sans paramètre --unrestricted nécessitent le mot de passe root. Cependant, GRUB 2 permet également de créer des utilisateurs non-root supplémentaires qui peuvent initialiser ces entrés sans mot de passe. Vous aurez quand même besoin d'un mot de passe pour modifier ces entrées. Pour obtenir des informations sur la façon de créer ces utilisateurs, voir le manuel GRUB 2.