D'abord l'avertissement ...
La procédure de protection par mot de passe grub2 peut être assez délicate et si vous vous trompez, il est possible que vous vous laissiez avec un système qui ne démarre pas. Il faut donc toujours commencer par faire une sauvegarde complète de l'image de votre disque dur. Ma recommandation serait d'utiliser Clonezilla - un autre outil de sauvegarde tel que PartImage pourrait également être utilisé.
Si vous voulez vous y exercer, utilisez un invité d'ordinateur virtuel sur lequel vous pouvez restaurer un instantané.
Commençons
La procédure ci-dessous protège les modifications non autorisées des paramètres Grub lors du démarrage. En d'autres termes, evous pouvez appuyer sur la touche Editer pour modifier les options de démarrage. Vous pouvez par exemple forcer le démarrage en mode mono-utilisateur et avoir ainsi accès à votre disque dur.
Cette procédure doit être utilisée conjointement avec le chiffrement du disque dur et une option de démarrage sécurisé du bios pour empêcher le démarrage à partir du cd réel, comme décrit dans la réponse à cette question.
presque tout ce qui se trouve en dessous peut être copié et collé ligne par ligne.
Commençons par sauvegarder les fichiers grub que nous allons éditer - ouvrez une session de terminal:
sudo mkdir /etc/grub.d_backup
sudo cp /etc/grub.d/* /etc/grub.d_backup
Permet de créer un nom d'utilisateur pour grub:
gksudo gedit /etc/grub.d/00_header &
Faites défiler vers le bas, ajoutez une nouvelle ligne vide, copiez et collez les éléments suivants:
cat << EOF
set superusers="myusername"
password myusername xxxx
password recovery 1234
EOF
Dans cet exemple, deux noms d'utilisateur ont été créés: myusername et recovery.
Suivant - retournez au terminal (ne fermez pas gedit
):
Utilisateurs Natty et Oneiric uniquement
Générez un mot de passe crypté en tapant
grub-mkpasswd-pbkdf2
Entrez votre mot de passe que vous utiliserez deux fois lorsque vous y êtes invité
Your PBKDF2 is grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
Le bit qui nous intéresse commence grub.pbkdf2...
et finitBBE2646
Mettez cette section en surbrillance avec votre souris, faites un clic droit et copiez-le.
Revenez à votre gedit
application - mettez en surbrillance le texte "xxxx" et remplacez-le par ce que vous avez copié (clic droit et coller)
c'est-à-dire que la ligne devrait ressembler à
password myusername grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
toutes les versions 'buntu (lucides et supérieures)
Enregistrez et fermez le fichier.
Enfin, vous devez protéger par mot de passe chaque entrée de menu grub (tous les fichiers qui ont une ligne qui commence menuentry ):
cd /etc/grub.d
sudo sed -i -e '/^menuentry /s/ {/ --users myusername {/' *
Cela va ajouter une nouvelle entrée --users myusername
à chaque ligne.
Exécutez update-grub pour régénérer votre grub
sudo update-grub
Lorsque vous essayez de modifier une entrée grub, il vous demandera votre nom d'utilisateur, par exemple myusername et le mot de passe que vous avez utilisé.
Redémarrez et testez que le nom d'utilisateur et le mot de passe sont appliqués lors de l'édition de toutes les entrées grub.
NB: n'oubliez pas d'appuyer sur SHIFTlors du démarrage pour afficher votre fichier.
Mot de passe protégeant le mode de récupération
Tout ce qui précède peut facilement constituer une solution de contournement en utilisant le mode de récupération.
Heureusement, vous pouvez également forcer un nom d'utilisateur et un mot de passe à utiliser l'entrée de menu en mode récupération. Dans la première partie de cette réponse, nous créons un nom d'utilisateur supplémentaire appelé recovery avec un mot de passe de 1234 . Pour utiliser ce nom d'utilisateur, nous devons éditer le fichier suivant:
gksudo gedit /etc/grub.d/10_linux
changer la ligne de:
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
À:
if ${recovery} ; then
printf "menuentry '${title}' --users recovery ${CLASS} {\n" "${os}" "${version}"
else
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
fi
Lorsque vous utilisez la récupération, utilisez le nom d'utilisateur recovery et le mot de passe 1234.
Exécuter sudo update-grub
pour régénérer votre fichier grub
Redémarrez et testez le nom d'utilisateur et le mot de passe qui vous sont demandés lorsque vous essayez de démarrer en mode de récupération.
Plus d'informations - http://ubuntuforums.org/showthread.php?t=1369019