Comment protéger par mot de passe le menu Grub

9

Comment protéger par mot de passe le menu Grub de la ro recovery nomodesetcommande. Je le veux où personne sauf si vous avez le mot de passe pour apporter des modifications au menu pour essayer d'entrer dans recovery.grub

Randol Albert
la source
Ce n'est pas tout à fait clair. Voulez-vous protéger par mot de passe la capacité de démarrage ou la possibilité de modifier la configuration de grub / accéder à une console grub?
Seth
De préférence les deux et pourriez-vous s'il vous plaît me montrer les commandes en détail, je suis un peu nouveau pour linux
Randol Albert
Il existe une option pour désactiver le mode de récupération dans grub, ainsi que pour empêcher grub de s'afficher (c.-à-d. Démarrer directement sur un système d'exploitation particulier que vous choisissez, ou si vous n'avez qu'un seul système d'exploitation, démarrer sans délai). Cela vous intéresserait-il? Faites-le moi savoir, je
posterai

Réponses:

13

Grub vous permet de protéger par mot de passe sa configuration et sa console, ainsi que les entrées individuelles du système d'exploitation. Veuillez noter que cela n'arrêtera pas les individus dévoués, en particulier ceux qui savent ce qu'ils font. Mais je suppose que vous le savez. Commençons.

générer un hachage de mot de passe ..

Vous pouvez stocker votre mot de passe grub en texte brut, mais cela n'est pas sûr et toute personne ayant accès à votre compte pourrait rapidement le découvrir. Pour éviter cela, nous hachons le mot de passe à l'aide de la grub-mkpasswd-pbkdf2commande, comme ceci:

user@host~ % grub-mkpasswd-pbkdf2
Enter password: 
Reenter password: 
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.63553D205CF6E...  

Pendant que vous saisissez votre mot de passe, aucun caractère ne s'affichera dans le terminal, c'est pour empêcher les gens de regarder par-dessus vos épaules, etc. Maintenant, copiez l'intégralité de votre hachage avec Ctrl+ Shift+ C.

protéger la config, la console ..

Courir:

sudo nano /etc/grub.d/40_custom  

Cela va créer un nouveau fichier de configuration appelé 40_customdans le répertoire de configuration de grub. Ajoutez maintenant les lignes:

set superusers="username"  
password_pbkdf2 username hash  

usernameest le nom d'utilisateur de votre choix et hashle hachage que nous avons généré dans la dernière commande. Appuyez sur Ctrl+ Opuis sur Ctrl+ Xpour enregistrer et quitter. Courir:

sudo update-grub  

Pour finaliser les modifications. Désormais, lorsque quelqu'un tente de modifier la configuration de grub ou d'accéder à une console grub, il lui sera demandé un nom d'utilisateur et un mot de passe.

mot de passe protégeant les entrées du système d'exploitation.

Actuellement, la seule méthode pour y parvenir est de modifier /boot/grub/grub.cfgmanuellement. Ceci n'est cependant que temporaire, car toute nouvelle mise à jour du noyau réécrira ce fichier et vos mots de passe auront disparu (notez que cela n'affecte pas le mot de passe de la console / d'édition que nous avons défini ci-dessus). Toutes les autres méthodes que j'ai trouvées jusqu'à présent sont extrêmement obsolètes et je ne peux plus les faire fonctionner.

J'ai demandé à la liste de diffusion grub s'il existe une nouvelle méthode et je modifierai cette réponse dès que je le découvrirai.

Seth
la source
3
Grub 2.0+ demande un mot de passe pour démarrer après ces manipulations. C'est parce que toutes les entrées sont désormais "restreintes" par défaut. Pour démarrer sans mot de passe, vous devez ajouter "--unrestricted" aux éléments de démarrage requis .
Raz
6

Le manuel GRUB contient une section sur la sécurité . Cela vous indique comment protéger par mot de passe votre menu de démarrage GRUB pour restreindre l'accès à des opérations spécifiques ou à des variantes de démarrage. Il contient un petit exemple.

NZD
la source
1
si l'exemple est petit, vous pouvez ajouter à votre réponse
rpax
2
@rpax: la réponse de Seth contient déjà un exemple. Il a ajouté sa réponse après avoir posté la mienne.
NZD