Bagaimana cara mereset kata sandi pada fs terenkripsi?

8

Saya punya laptop yang belum pernah saya gunakan sejak liburan musim panas lalu: Saya memang menempatkan Debian 7 di atasnya dan menggunakan fitur Debian untuk mengenkripsi disk sepenuhnya, selain bootloader kecil (atau partisi kecil) saya kira (tidak terlalu yakin enkripsi mana ini atau bagaimana mengetahuinya).

Saya lakukan tahu password dari filesystem terenkripsi sehingga sistem boot, tapi aku terjebak login prompt: Saya lupa password saya (s).

Terlihat bahwa saya mengetahui kata sandi sistem file terenkripsi, saya pikir saya bisa boot dari Live CD (atau bahkan mungkin dari CD instalasi Debian?) Dan entah bagaimana "me-mount" partisi terenkripsi.

Jika itu masalahnya, dapatkah seseorang menjelaskan kepada saya bagaimana melakukan ini? (mengetahui bahwa saya belum pernah memasang partisi / sistem file terenkripsi secara manual)

Cedric Martin
sumber
1
Ini tidak akan menjadi masalah besar bagi saya untuk menginstal ulang seluruh sistem Debian (tidak ada yang bernilai dan saya dapat menginstal Debian) tetapi tampaknya agak berlebihan dan, lebih dari itu, saya dapat mempelajari sesuatu dalam proses dengan memasang sistem file terenkripsi dan mengubah kata sandi ...
Cedric Martin

Jawaban:

15

Enkripsi disk penuh biasanya dilakukan menggunakan dm-crypttarget Device Mapper, dengan LVM bersarang (Logical Volume Manager) di dalamnya. Jadi untuk mengatur ulang kata sandi Anda, Anda harus melakukannya

  1. Buka kunci / buka wadah crypto; ini dilakukan dengan menggunakancryptsetup
  2. Aktifkan volume logis; vgchangedigunakan untuk ini.

Biasanya Anda tidak perlu peduli tentang ini. Biarkan saja yang initrddisediakan oleh distribusi Anda melakukan pekerjaan tetapi katakan itu bukan untuk memulai /sbin/inittetapi sesuatu yang lain - shell akan baik. Cukup tambahkan init=/bin/shbaris perintah kernel Anda di boot loader Anda (dengan GRUB Anda dapat menekan Edengan entri boot yang sesuai dipilih untuk mengedit entri).

Kemudian kernel Anda harus boot secara normal, boot ke initrdyang seharusnya meminta passphrase Anda dan mengatur sistem file Anda tetapi bukannya mem-boot sistem menjatuhkan Anda ke dalam shell. Di sana Anda harus

  1. remount /baca-tulis:mount -o rw,remount /
  2. setel ulang kata sandi Anda menggunakan passwd <user>(karena Anda rootAnda tidak akan diminta untuk yang lama)
  3. remount /read-only: mount -o ro,remount /(melewatkan ini mungkin membingungkan skrip init Anda)
  4. Mulai init reguler dengan exec /sbin/init(atau sederhana reboot -f).

Jika ini tidak berhasil, Anda harus mengambil pendekatan dengan upaya yang lebih besar dan melakukannya dari "luar", alias mem-boot Live CD. Biasanya ini harus dimungkinkan dengan menggunakan CD instalasi Debian - alat harus diinstal, karena installer entah bagaimana harus mengatur enkripsi yang menggunakan skema yang sama:

  1. Boot CD Live

  2. Buka partisi terenkripsi dengan mengeluarkan

    # cryptsetup luksOpen /dev/<partition> some_name
    

    di mana <partition>seharusnya nama partisi terenkripsi Anda ( sda2, mungkin). some_namehanyalah ... beberapa nama. Ini akan meminta Anda untuk frasa sandi enkripsi disk dan membuat perangkat blok bernama /dev/mapper/some_name.

  3. Aktifkan volume logis. Ini biasanya bekerja dengan mengeluarkan

    # vgscan
    # vgchange -ay
    

    Ini akan membuat blokir file perangkat untuk setiap volume logis yang ditemukan di LVM di /dev/mapper/.

  4. Pasang volume yang berisi /sistem file Anda :

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

    di mana <vgname>dan <lvname>adalah nama-nama grup volume dan volume logis. Ini tergantung pada cara distribusi mengaturnya, tetapi lihat saja /dev/mapper/, biasanya nama cukup jelas.

  5. Ubah kata sandi Anda dengan passwd <user>sesuai.

Andreas Wiese
sumber
Ini menjelaskan cara mengubah kata sandi sistem file. Jika Anda membaca pertanyaan lebih hati-hati, dia tahu kata sandi itu. Dia lupa kata sandi penggunanya (login).
cjm
Oh, maaf, saya melewatkan itu - sudah terlambat di sini. ;) Dikoreksi.
Andreas Wiese
@AndreasWiese: +1, terima kasih ... Memang, itu kata sandi pengguna yang perlu saya ubah! Saya akan mencoba apa yang Anda sarankan ASAP: Saya sangat suka pendekatan tanpa CD langsung.
Cedric Martin
@AndreasWiese: bekerja dengan sempurna. Pada awalnya saya tidak terlalu yakin tentang baris mana yang seharusnya saya tambahkan "init = / bin / sh" di dalam Grub tetapi semuanya berjalan lancar. Saya hanya menyalin kembali (yang agak menyakitkan) karakter dengan karakter entri dari / etc / passwd / dari sistem lain, untuk pengguna root. Semuanya kembali lancar. Terima kasih lagi.
Cedric Martin
Meh, baru saja terlintas di pikiran saya bahwa setelah Anda me-remount /r / w Anda bisa saja melakukannya passwd rootkarena roottidak diminta kata sandi lamanya. Maaf untuk itu.
Andreas Wiese