J'ai récemment découvert que si je modifie GRUB avant de démarrer et que j'ajoute rw init=/bin/bash
Je me retrouve avec un shell root.
Étant dans un état où je veux tout comprendre, j'aimerais savoir pourquoi cela se produit. Je veux dire c'est un bug ? est-ce une fonctionnalité ? est-il là pour aider les administrateurs à résoudre les problèmes car cela ne fonctionne que si vous avez un accès physique à un ordinateur ?
Est-il fourni par GRUB ou le noyau lui-même ?
Réponse acceptée :
Il s'agit d'une fonctionnalité utilisée pour la maintenance du système :elle permet à un administrateur système de récupérer un système à partir de fichiers d'initialisation erronés ou de modifier un mot de passe oublié.
Ce message dans la liste de diffusion Red Hat explique certaines choses :
Dans les systèmes de type Unix, init est le premier processus à être exécuté, et
l'ancêtre ultime de tous les processus jamais exécutés. Il est responsable de
l'exécution de tous les scripts d'initialisation.Vous dites au noyau Linux d'exécuter /bin/bash en tant qu'init, plutôt que
l'init du système. […]
Ainsi, vous n'exploitez rien, vous utilisez simplement une fonctionnalité standard du noyau.
De plus, comme indiqué dans un commentaire, le rw
flag est séparé de init=
, il indique simplement au système de monter le système de fichiers racine en lecture-écriture (afin que vous puissiez, par exemple, modifier le fichier mal configuré ou changer un mot de passe).