Comment réinitialiser le mot de passe sur un FS chiffré?

8

J'ai un ordinateur portable que je n'ai pas utilisé depuis les dernières vacances d'été: j'ai mis Debian 7 dessus et utilisé la fonctionnalité de Debian pour crypter complètement le disque, en plus d'un minuscule chargeur de démarrage (ou d'une minuscule partition) je suppose (pas trop vous savez de quel chiffrement il s'agit ni comment le savoir).

Je ne sais le mot de passe du système de fichiers crypté de sorte que le système démarre, mais je suis bloqué la connexion rapide: Je ne ai oublié mon mot de passe (s).

Vu que je connais le mot de passe du système de fichiers crypté, je suppose que je peux démarrer à partir d'un Live CD (ou même peut-être à partir du CD d'installation Debian?) Et "monter" en quelque sorte la partition cryptée.

Si tel est le cas, quelqu'un peut-il m'expliquer comment procéder? (sachant que je n'ai jamais monté manuellement une partition / un système de fichiers crypté)

Cedric Martin
la source
1
Ce ne serait pas grave pour moi de réinstaller tout un système Debian (il n'y a rien de valeur et je peux installer Debian) mais cela semble un peu exagéré et, de plus, je peux apprendre quelque chose dans le processus en montant le système de fichiers crypté et changer les mots de passe ...
Cedric Martin

Réponses:

15

Le chiffrement complet du disque est généralement effectué à l'aide de la dm-cryptcible Device Mapper, avec un LVM (Logical Volume Manager) imbriqué à l'intérieur. Donc, pour réinitialiser votre mot de passe, vous devrez

  1. Déverrouillez / ouvrez le conteneur crypto; cela se fait en utilisantcryptsetup
  2. Activez les volumes logiques; vgchangeest utilisé pour cela.

Habituellement, vous n'aurez pas besoin de vous en soucier. Laissez simplement le initrdfourni par votre distribution faire le travail mais dites-lui de ne pas commencer /sbin/initmais autre chose - un shell serait bien. Ajoutez simplement init=/bin/shà la ligne de commande de votre noyau dans votre chargeur de démarrage (avec GRUB, vous pouvez appuyer sur Eavec l'entrée de démarrage appropriée sélectionnée pour modifier l'entrée).

Ensuite, votre noyau devrait démarrer normalement, en démarrant dans le initrdqui devrait vous demander votre phrase secrète et configurer vos systèmes de fichiers mais au lieu de démarrer le système, vous déposerez dans un shell. Là, vous devrez

  1. remonter en /lecture-écriture:mount -o rw,remount /
  2. réinitialiser votre mot de passe en utilisant passwd <user>(puisque vous ne rootserez pas invité à entrer l'ancien)
  3. remonter en /lecture seule: mount -o ro,remount /(sauter cela pourrait confondre vos scripts d'initialisation)
  4. Commencez l'init régulière avec exec /sbin/init(ou simplement reboot -f).

Si cela ne fonctionne pas, vous devrez adopter l'approche avec plus d'effort et le faire de "l'extérieur", c'est-à-dire démarrer un Live CD. Habituellement, cela devrait être possible en utilisant le CD d'installation Debian - les outils doivent être installés, car le programme d'installation doit en quelque sorte mettre en place un cryptage qui utilise le même schéma:

  1. Démarrez un Live CD

  2. Ouvrez la partition chiffrée en émettant

    # cryptsetup luksOpen /dev/<partition> some_name
    

    <partition>devrait être le nom de vos partitions chiffrées ( sda2, probablement). some_namec'est juste… un nom. Cela vous demandera la phrase secrète de chiffrement du disque et créera un périphérique de bloc appelé /dev/mapper/some_name.

  3. Activez les volumes logiques. Cela devrait généralement fonctionner en émettant

    # vgscan
    # vgchange -ay
    

    Cela créera des fichiers de périphérique de bloc pour chaque volume logique trouvé dans le LVM dans /dev/mapper/.

  4. Montez le volume contenant votre /système de fichiers:

    # mount /dev/mapper/<vgname>-<lvname> /mnt
    

    <vgname>et <lvname>sont les noms du groupe de volumes et du volume logique. Cela dépend de la façon dont les distributions sont configurées, mais jetez un œil /dev/mapper/, normalement les noms sont explicites.

  5. Modifiez votre mot de passe en passwd <user>conséquence.

Andreas Wiese
la source
Cela explique comment modifier le mot de passe du système de fichiers. Si vous lisez la question plus attentivement, il connaît ce mot de passe. Il a oublié son mot de passe utilisateur (login).
cjm
Oh, désolé, j'ai raté ça - il est tard ici. ;) Corrigée.
Andreas Wiese
@AndreasWiese: +1, merci ... En effet, ce sont les mots de passe des utilisateurs que je dois changer! J'essaierai ce que vous avez suggéré dès que possible: j'aime vraiment l'approche sans CD live.
Cedric Martin
@AndreasWiese: a parfaitement fonctionné. Au début, je ne savais pas trop quelle ligne je devais ajouter "init = / bin / sh" dans Grub mais les choses se sont bien passées. J'ai simplement recopié (ce qui était un peu pénible) caractère par caractère une entrée d'un / etc / passwd / d'un autre système, pour l'utilisateur root. Tout est à nouveau lisse. Merci encore.
Cedric Martin
Meh, il m'est juste venu à l'esprit qu'une fois que vous avez remonté /R / W, vous auriez pu simplement le faire passwd rootcar on rootne lui demande pas son ancien mot de passe. Désolé.
Andreas Wiese