{{tag>Brouillon Debian Boot Sécurité MDP}}
= Grub mot de passe
== Protéger GRUB par un mot de passe
Voir :
* https://blog.sleeplessbeastie.eu/2015/01/06/how-to-password-protect-grub-entries/
=== RedHat
grub2-set-password
Ce script bash va appeler grub2-mkpasswd-pbkdf2
Ce qui crée le fichier suivant
''/boot/grub2/user.cfg''
GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.92613724ED40696F3D7917C8F257901BDB39790E6F7DB78830E094D8A60EA6E1DAE7366A64866BCBCD8F9A8FAA6A508DAA560DB3B89A682F58E8D8EB56FC5DE7.95FD391CF51F57EA5CCDC6143B5F9262785DA96857368E40FE4C4710D19D07F513333568B7897B75EF9375FA13395335A823AAEE35A89964022810A72446679C
L'utilisateur est : **root
Note : pbkdf2 voir => https://mjg59.dreamwidth.org/66429.html If the PBKDF is either "pbkdf2" or "argon2i" you should convert to "argon2id"
=== Debian Jessie (8)
Générer le hash du mot de passe
grub-mkpasswd-pbkdf2
Entrez le mot de passe :
Entrez de nouveau le mot de passe :
Le hachage PBKDF2 du mot de passe est grub.pbkdf2.sha512.10000.F272C7B98DD8F942A27F30637F34D75B9EBC97157E9DB19679D12C22C627DEAE383B2A5AFFC3432457C52EAFA99ACF539C470B1B3631DDA3658F565FCB90B461.8455EB485F5AA06864E7632C698D4B363457B7DD0FC8733F23AF39B90589D0ABAA9D87B134C91C8201AA567F5D8030E2BEA9D4717AA9C6E575253BB099335931
Ajouter les lignes suivantes
''/etc/grub.d/40_custom''
set superusers="admin"
password_pbkdf2 admin grub.pbkdf2.sha512.10000.F272C7B98DD8F942A27F30637F34D75B9EBC97157E9DB19679D12C22C627DEAE383B2A5AFFC3432457C52EAFA99ACF539C470B1B3631DDA3658F565FCB90B461.8455EB485F5AA06864E7632C698D4B363457B7DD0FC8733F23AF39B90589D0ABAA9D87B134C91C8201AA567F5D8030E2BEA9D4717AA9C6E575253BB099335931
Mise à jour la conf
update-grub
=== Debian Wheezy (7)
A tester la même manip que pour Debian Jessie.
Mais apparemment la manip diffère.
''/etc/grub.d/00_header''
cat << EOF
set superusers="admin"
password_pbkdf2 admin grub.pbkdf2.sha512.10000.F272C7B98DD8F942A27F30637F34D75B9EBC97157E9DB19679D12C22C627DEAE383B2A5AFFC3432457C52EAFA99ACF539C470B1B3631DDA3658F565FCB90B461.8455EB485F5AA06864E7632C698D4B363457B7DD0FC8733F23AF39B90589D0ABAA9D87B134C91C8201AA567F5D8030E2BEA9D4717AA9C6E575253BB099335931
EOF
Mise à jour la conf
update-grub
== Reset password
=== RedHat / CentOS
# Rebooter le serveur.
# Sélectionner la ligne du grub souhaité en la mettant en surbrillance.
# Éditer le grub en tapant **e**.
# Modifier la ligne de contenant **Linux16**, ajouter ''rd.break enforcing=0'' à la fin de la ligne
# Lancer l’exécution de la ligne modifié en tapant ctrl + x
# A l'invite root, remonter /sysroot en lecture/ecriture : ''mount -o remount,rw /sysroot''
# ''chroot /sysroot''
# ''passwd root'' (pour changer le mot de passe)
# ''touch /.autorelabel'' (créer autorelabel caché pour reetiqueter les contextes selinux correctement).
# ''/sbin/reboot -f''