web-dev-qa-db-ja.com

暗号化されたファイルシステムのパスワードをリセットする方法

私は昨年の夏休み以来使用していないラップトップを持っています。私は、Debian 7をその上に置いて、Debianの機能を使用してディスクを完全に暗号化しました。これがどの暗号化であるか、またどのように見つけるかを確認してください)。

私はdo暗号化されたファイルシステムのパスワードを知っているので、システムは起動しますが、ログインできませんプロンプト:パスワードを忘れました。

暗号化されたファイルシステムのパスワードを知っているようで、Live CD(またはDebianインストールCDからでもかまいません)からブートして、暗号化されたパーティションを「マウント」してください。

その場合、これを行う方法を誰かに説明してもらえますか? (私は暗号化されたパーティション/ファイルシステムを手動でマウントしたことがないことを知っている)

8
Cedric Martin

フルディスク暗号化は通常、ネストされたLVM(Logical Volume Manager)を内部に含むdm-crypt Device Mapperターゲットを使用して行われます。パスワードをリセットするには、

  1. 暗号化コンテナーのロックを解除/開きます。これはcryptsetupを使用して行われます
  2. 論理ボリュームをアクティブ化します。 vgchangeがこれに使用されます。

通常、これを気にする必要はありません。ディストリビューションから提供されたinitrdに仕事を任せてくださいnotを開始して/sbin/initを開始します。ブートローダーのカーネルのコマンドラインにinit=/bin/shを追加するだけです(GRUB E エントリを編集するために選択された適切なブートエントリで)。

次に、カーネルが正常に起動し、initrdで起動します。これにより、パスフレーズを要求し、ファイルシステムを設定しますが、システムを起動する代わりに、シェルにドロップします。そこにあなたがしなければならないでしょう

  1. 再マウント/読み書き可能:mount -o rw,remount /
  2. passwd <user>を使用してパスワードをリセットします(rootなので、古いパスワードの入力を求められません)
  3. 再マウント/読み取り専用:mount -o ro,remount /(これをスキップすると、initスクリプトを混乱させる可能性があります)
  4. exec /sbin/init(または単にreboot -f)で通常の初期化を開始します。

これが機能しない場合は、より大きな労力でアプローチし、「外部」から、つまりLive CDを起動して行う必要があります。通常、これはDebianインストールCDを使用することで可能になります。ツールはインストールされているはずです。これは、インストーラが何らかの方法で同じスキーマを使用する暗号化を設定する必要があるためです。

  1. ライブCDを起動する

  2. 発行して暗号化パーティションを開きます

    # cryptsetup luksOpen /dev/<partition> some_name
    

    ここで、<partition>は暗号化されたパーティション名(sda2、おそらく)です。 some_nameは単に…名前です。これにより、ディスクの暗号化パスフレーズの入力が求められ、/dev/mapper/some_nameというブロックデバイスが作成されます。

  3. 論理ボリュームをアクティブ化します。これは通常、

    # vgscan
    # vgchange -ay
    

    これにより、LVMの/dev/mapper/にあるすべての論理ボリュームのブロックデバイスファイルが作成されます。

  4. /ファイルシステムを含むボリュームをマウントします。

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

    ここで、<vgname>および<lvname>は、ボリュームグループと論理ボリュームの名前です。これは、ディストリビューションでの設定方法によって異なりますが、/dev/mapper/を調べてみてください。通常、名前は一目瞭然です。

  5. それに応じてpasswd <user>でパスワードを変更します。

15
Andreas Wiese