grub
Configurer le menu grub en interface graphique – startupmanager – ubuntu gnu linux
Juste une note pour ceux qui chercheraient à configurer simplement la configuration par défaut du boot de leur machine équipée d’ubuntu, comme par exemple, définir le système lancé par défaut, ou encore changer le délai d’attente avant le démarrage automatique du système avec GRUB.
Bien sûr on peut toujours éditer les fichiers de configuration à la main (généralement /boot/grub/grub.cfg), mais ça n’est pas le plus aisé pour les néophytes.
Ayant amené certains amis à basculer sous GNU/Linux, et plus particulièrement sous Ubuntu (je n’ai pas de réelle préférence sur telle ou telle distribution, c’est juste que c’est dans l’air du temps, j’ai personnellement une plus grande expérience sur redhat/fedora mais bon :) ), un question qui revient est « comment changer le système chargé par défaut au boot de la machine ? « .
Il existe pour ça un utilitaire en interface graphique facile et efficace, le « Gestionnaire d’amorçage StartUp-Manager » que vous pouvez installer en tapant ceci dans un terminal :
[bash]sudo apt-get install startupmanager[/bash]
Une fois installé, vous le retrouvez (sous Gnome) dans le menu « Système », puis « Administration », sous le nom « Gestionnaire d’amorçage StartUp-Manager ».
Cet outil vous permet simplement de modifier les options de boot (démarrage) de votre machine, c’est un outil simple et accessible à tous. Je vous recommande juste de ne pas modifier les paramètres relatifs à la résolution de l’écran. L’option par défaut permet une compatibilité maximale quelque soit la machine utilisée, un mauvais paramètre à ce niveau pourrait vous empêcher d’utiliser ou d’accéder correctement au menu de boot de votre machine.
Sur le deuxième onglet, il y a l’option qui permet de créer une disquette de démarrage, cela dit, même si c’est un outil indispensable pour relancer une machine dont le chargeur de démarrage est planté, peu de machines ont encore un lecteur de disquette aujourd’hui, et il restera plus facile de passer par un liveCD pour réparer votre chargeur GRUB que de booter par disquette.
En espérant que ce mémo soit utile aux utilisateurs qui cherchent à éditer les paramètres de boot de leur machine sous GNU/Linux Ubuntu avec une interface graphique.
Resoudre probleme d’espace sur /boot sous ubuntu – kernel
Si lors de votre installation vous avez réalisé un partitionnement manuel, ou encore, pour toute autre raison (migration, changement de distribution linux etc.) vous avez une partition /boot un peu petite, vous pouvez vous retrouver coincé lors des mises à jour Ubuntu pour cause de manque d’espace disque sur /boot !
En effet, lors de la mise à jour le système sera dans l’impossibilité d’installer le nouveau noyau (kernel).
Afin de corriger ce problème, il va falloir supprimer les anciens « kernel » installé, pour libérer de la place sur la partition de boot. En effet Ubuntu conserve plusieurs versions afin de pouvoir booter sur un ancien noyau en cas d’incompatibilité.
Pour faire de la place, on va donc désinstaller les anciens kernel (tous ceux installé avant l’avant dernier – histoire de garder un peu de marge).
Pour ce faire nous allons lister tous les packages relatifs au kernel qui sont installés :
[bash]sudo dpkg -l|grep kernel[/bash]
Vous allez obtenir une liste de ce style :
[bash]ii linux-headers-2.6.35-23 2.6.35-23.41 Header files related to Linux kernel version 2.6.35
ii linux-headers-2.6.35-23-generic 2.6.35-23.41 Linux kernel headers for version 2.6.35 on x86/x86_64
ii linux-headers-2.6.35-24 2.6.35-24.42 Header files related to Linux kernel version 2.6.35
ii linux-headers-2.6.35-24-generic 2.6.35-24.42 Linux kernel headers for version 2.6.35 on x86/x86_64
ii linux-headers-generic 2.6.35.24.28 Generic Linux kernel headers
ii linux-image-2.6.35-23-generic 2.6.35-23.41 Linux kernel image for version 2.6.35 on x86/x86_64
ii linux-image-2.6.35-24-generic 2.6.35-24.42 Linux kernel image for version 2.6.35 on x86/x86_64
ii linux-image-generic 2.6.35.24.28 Generic Linux kernel image
[/bash]
Dans la liste ci dessus (j’ai déjà fait le ménage, mais il y a encore de la matière) on peut voir que plusieurs versions (3) sont actuellement installées (2.6.35.23.41 2.6.35.24.28 2.6.35.24.42). Donc, en l’état, je peux supprimer tout ce qui est plus ancien que 2.6.35.24.28 (soit une version à supprimer ici, mais j’avais déjà désinstallé les plus vieux kernels avant la rédaction de ce post).
Donc, afin de libérer de l’espace sur le système, et surtout supprimer le kernel avec son image de boot de ma partition de boot, je vais désinstaller la version la plus ancienne (chiffre le plus bas)
– Attention aux sous versions avec la série de chiffres, on a ici par exemple des kernel 2.6 de sous version 35-xx.release, plus le chiffre est bas, plus le kernel est vieux avec pour ordre d’importance, de la gauche vers la droite. 2.6.35-23.41 est donc plus ancien que 2.6.35.24.28 !
Je veux donc désinstaller tout ce qui est relatif au kernel 2.6.35-23.41 :
[bash]sudo apt-get remove –purge linux-headers-2.6.35-23-generic linux-image-2.6.35-23-generic[/bash]
Voilà qui fera de la place et devrait permettre l’installation des nouveaux kernels disponibles, si l’espace disque manquait. On notera que c’est le paquet « linux-image » qui libère de la place sur la partition /boot et le paquet « linux-headers » qui supprime les entêtes nécessaires à la compilation des pilotes-drivers (modules) du système, de la partition principale (Rien ne sert de conserver les entêtes/headers d’un kernel dont on a supprimé l’image !).
J’utilise l’option « –purge » pour supprimer les anciens kernel du cache des paquets, vu que je ne compte pas les re-installer, et donc pas besoin de les garder sur le disque ! On gagne encore de la place !
Voilà en espérant que ceci puisse vous être utile !
GRUB2 – ajouter un mot de passe – proteger le boot – securite
Afin de protéger votre machine, il peut être pertinent de protéger le chargeur de démarrage par mot de passe.
Ceci pour éviter que n’importe qui puisse, en accédant à votre machine physiquement, sans aucun outil, accéder au compte root et opère des modifications.
Il y a 2 façons pour avoir l’accès root, le mode « rescue » (ou mode de récupération) et le passage de paramètres au chargeur de boot, tellement simple (pour mémo, au menu grub, on appuye sur « e », puis on change le « ro » en « rw » et on ajoute en fin de ligne (après quiet splash le plus souvent) init=/bin/bash, et on boote. Voilà on est root en local sur la machine, mince alors.
Bref, évidemment, vous aurez mis un mot de passe au BIOS, en autorisant uniquement le boot sur le disque dur local (pas d’USB, pas de lecteur optique)…et vous aurez crypté votre home (http://forum.inforeseau.com/ubuntu-10-04-crypter-son-home-apres-installation-tuto-memo-t630.html), naturellement, afin que même si quelqu’un vole votre machine/disque dur, ça soit un peu compliqué d’accéder à vos données.
Évidemment, malgré ça, vous n’êtes pas a l’abri du fait que quelqu’un sorte le disque de votre machine, insert un keylogger/rootkit, remette le disque en place, et donc, votre séquence de boot est corrompue, mais c’est un autre problème.
Donc, histoire que ça ne soit pas trop facile localement, on va protéger l’accès à GRUB avec mot de passe, de manière manuelle.
Note : Commencez toujours par faire une copie de sauvegarde des fichiers avant modification, comme ça en cas de soucis, vous bootez sur un livecd et replacez le fichier d’origine !
Pour cela on va éditer le fichier /boot/grub/grub.cfg et ajouter juste avant « ### BEGIN /etc/grub.d/10_linux ### » les lignes suivantes :
[bash]set superusers="superadmin"
password superadmin ze_password
password un_utilisateur autre_password[/bash]
(Note, ces comptes sont indépendants des comptes du système, ce sont des identifiants/mots de passe propre à GRUB).
Ceci suffit déjà à empêcher l’accès au menu « edit » lors du boot ! Ensuite, il faut ajouter une demande de mot de passe pour le mode rescue, à la ligne qui ressemble à ça :
[bash]menuentry ‘Ubuntu, avec Linux 2.6.32-25-generic (mode de récupération)’ –class ubuntu –class gnu-linux –class gnu –class os [/bash]
On ajoute à la fin –users un_utilisateur :
[bash]menuentry ‘Ubuntu, avec Linux 2.6.32-25-generic (mode de récupération)’ –class ubuntu –class gnu-linux –class gnu –class os –users un_utilisateur[/bash]
Et voilà, pour accéder au mode RESCUE (récupération) il faut le mot de passe ! hé hé hé.
Évidemment il faut appliquer cette restriction à chaque version de kernel si vous en avez plusieurs (chaque ligne qui commence par « menuentry »).
Ceci sera par contre modifié en cas de mise à jour du kernel ou en modifiant GRUB par l’interface graphique, donc à refaire à chaque fois si vous choisissez cette méthode « manuelle », mais très didactique.
Pour empêcher la lecture de vos identifiants par un utilisateur, on va enlever les droits de lecture sur le fichier /boot/grub/grub.cfg comme suit :
[bash]chmod -r /boot/grub/grub.cfg[/bash]
Il existe un moyen de faire cette modification de manière permanente (persistant même en cas de mise à jour), en 4 étapes, et de crypter le mot de passe (à partir de grub 1.98), comme expliqué ici :
http://ubuntuguide.net/how-to-setup-boot-password-for-grub2-entries ou là http://www.ubuntugeek.com/how-to-set-grub-2-password-protection.html
Soit, étape 1 :
Ajouter ce qui suit à la fin de /etc/grub.d/00_header :
[bash]cat << EOF
set superusers="superadmin"
password superadmin ze_password
password un_utilisateur autre_password
EOF[/bash]
Note, ceci suffit déjà à empêcher l’accès aux commandes de GRUB2, en appliquant un « sudo update-grub »
Etape 2 (les installations de linux) :
A partir de là on va gérer l’automatisation de la demande d’identifiants pour toutes les entrées de Grub, et ce pour toutes mise à jour.
Pour protéger les installations de Linux sur la partition principale, on va modifier le fichier /etc/grub.d/10_linux comme suit :
[bash]printf "menuentry ‘${title}’ ${CLASS} {\n" "${os}" "${version}"[/bash]
devient :
[bash]printf "menuentry ‘${title}’ ${CLASS} –users un_utilisateur {\n" "${os}" "${version}"[/bash]
Etape 3 (les installations de memtest) :
On va changer toutes les lignes qui contiennent « menuentry » dans /etc/grub.d/20_memtest comme suit :
[bash]menuentry "Memory test (memtest86+)" {[/bash]
en
[bash]menuentry "Memory test (memtest86+)" –users un_utilisateur {[/bash]
Etape 4 (les autres systèmes détéctés) :
On va éditer le fichier /etc/grub.d/30_osprober pour ajouter la demande de mot de passe au menu d’accès aux autres systèmes.
Pour toutes les lignes de ce fichier qui commencent par « menuentry », on ajoute avant l’accolade de fin « –users un_utilisateur » (sans les guillemets).
Voilà, lancez un petit
[bash]sudo update-grub[/bash]
et tout devrait être protégé par mot de passe, et ça sera le cas à chaque mise à jour. En cas de problème, restaurez les fichiers que vous aurez sauvegardé au préalable.
Enfin pour ce qui est de l’utilisation d’un mot de passe crypté, il faut voir ici au point No 7 :
http://www.ubuntugeek.com/how-to-set-grub-2-password-protection.html
En gros, on génère le hash du mot de passe avec l’utilitaire
[bash]grub-mkpasswd_pbkdf2[/bash]
Note : il faut être patient, la génération du hash prend tu temps, avec par défaut une boucle sur 10000 itérations.
Puis au lieu d’utiliser simplement la chaine « password user pass » dans le fichier de config, on utilise la chaine suivante :
[bash]password_pbkdf2 un_utilisateur la_chaine_envoyée_par_grub-mkpasswd_pbkdf2[/bash]
J’ai donc testé ça, et ça fonctionne très bien ! Ca permet, en cas de vol de votre disque, que le voleur ne puisse pas connaître votre mot de passe en clair ! :D
Note : Pour autoriser de multiples utilisateurs sur un même menu, il suffit d’ajouter des identifiants séparés par des virgules, comme ceci : –users user1,user2 { etc.
Sources :
http://start.ubuntuforums.org/showthread.php?p=9675892 (posts 18/19/20)
http://www.ubuntugeek.com/how-to-set-grub-2-password-protection.html (partie cryptage utilisable que à partir de grub 1.98)
http://ubuntuguide.net/how-to-setup-boot-password-for-grub2-entries (pour préserver les changements au fur et à mesure des mises à jour)
http://grub.enbug.org/Authentification
Links
Calendrier
L | M | M | J | V | S | D |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
Recherche
Derniers articles
Tresronours Twitter
Keywords cloud topic
Membre de la FSF
Liens qui vont bien
Mots clés vrac – keyword cloud
License du contenu – CC By NC SA
Archives
- Resumed posting and expanding on X
- Linkedin Access to your account has been restricted – Final debrief and resilience plan
- I’m thankful for the support I get in rough time
- Cyber security news of the day – 2024 May 31
- Alexandre Blanc Cyber Kicked out from Linkedin
- You’ll most likely find me on LinkedIn
- The Russian roulette landing page !
- RTSP, Debian, VLC, not playing, IP Camera
- 5G network hosted in the cloud, no internet, no phone ! So smart ! And I ended on TV, This week in cyber
- They lock the door for privacy… but they keep a copy of the key, and couple of backdoors
- Worst is yet to come, but they all warned you
- Migrating an old WordPress and handling character set, UTF8, latin1, latin1_swedish_ci
- From a broken TLS CA, to Facebook, to FIN12 hit and run
- Yes we can fix this mess, but do we want to ? That’s another story
- Criminals are still dominating the game, why are we doing so wrong, and what can we learn in this tech ocean ?
- Riding cloud can be tricky, don’t fall from it, in the weekly cyber !
- The threat landscape is very dynamic – Cyber news this week
- Cybersecurity is not obvious even for this newsletter !
- Install Slack desktop app on Kali rolling fixing libappindicator3-1 missing dependency
- How to delete all resources in azure to avoid charges after trial on your forced credit card registration
- Proxmox – ZFS – Dead drive on active VM, recover from replicated disk
- Restrict access to proxmox web admin interface
- Migrate your ESXI VMs to proxmox ZFS
- Install your VPN server with pi-hole on OVH VPS in 30 min
- Using raspberry pi 3 as wifi bridge and repeater and firewall
- Raspberry 3 – create a wifi repeater with USB wifi dongle
- raspberry 3 – routeur pare feu point d’acces wifi avec filtrage pub et tracking – router firewall access point with ads and tracking filtering
- Dell XPS 13 touchpad – corriger la sensibilité
- Utiliser Zazeen set top box depuis une connexion videotron
- Fermeture de mon compte facebook – la dernière goutte
- Choisir un kernel par defaut au demarrage de Centos 7.2 – configuration grub2
- Openvpn access server 2.0.25 et android
- Régler la luminosité du laptop par ligne de commande
- chromium outlook web app version complete sous linux
- Nexus 7 2012 – android 5 lollipop solution au probleme de lenteur
- HDD led sur Xubuntu – xfce
- xubuntu 14.04 verrouiller ecran de veille et desactiver mise en veille a la fermeture de l’ecran
- Authentification avec Radmin en utilisant Wine sur Gentoo
- Patcher bash sur une distribution plus supportee comme fedora 11
- Zimbra desktop sous xubuntu 14.04 64bit – fix
- xubuntu 12.10 probleme de son avec VLC – pulse audio – alsa – toshiba L855D – solution
- Evolution sous xubuntu 12.10 – bug affichage a la configuration – solution temporaire
- Booster son acces internet en changeant de DNS pour opendns
- Serveur DLNA sous ubuntu – minidlna
- sshfs sous windows – dokan sshfs
- xubuntu 11.10 Installer le plugin java pour firefox
- Installer Google Earth sur Xubuntu 11.10
- Installer nagios sur Fedora 11 depuis les sources
- Configurer varnish-cache avec des virtualhosts, apache, fedora, redhat, centos
- Installer Varnish depuis les sources sur Fedora 11