Bagaimana cara berhenti menggunakan enkripsi direktori home bawaan?

106

Saya memiliki instalasi Ubuntu 10.04 baru dengan direktori home terenkripsi (menggunakan enkripsi built-in yang ditawarkan oleh installer Ubuntu).

Apa cara termudah untuk berhenti menggunakan enkripsi? (Yaitu, mendekripsi direktori home saya secara permanen.)

(Ini memberi saya masalah dengan pembaruan kernel, dan saya hanya ingin mengurangi semua kerumitan yang saya alami dengan instalasi ini.)

Jonik
sumber

Jawaban:

76

Googling sekitar, saya menemukan posting ini :

Bukan untuk membuka utas lama tetapi kalau-kalau ada kesalahan mencoba mengikuti petunjuk ini, inilah yang saya lakukan.

  1. Cadangkan direktori home saat Anda masuk sudo cp -rp /home/user /home/user.backup

    1.1. Periksa apakah cadangan rumah Anda memiliki semuanya !!!

  2. reboot ke root via grub
  3. Hapus direktori rumah Anda rm -rf /home/user
  4. Hapus paket apt-get remove ecryptfs-utils libecryptfs0
  5. Pulihkan direktori home Anda mv /home/user.backup /home/user
  6. reboot
  7. Hapus salah satu .Private .ecryptfsfolder iturm -rf ~/.Private rm -rf ~/.ecryptfs
  8. Yay!
Ini berhasil untuk saya. Izin file folder rumah tetap utuh dan tidak mengganggu Dropbox atau git repos. Beberapa alasan instalasi baru saya di Ubuntu 9,10 tidak akan melakukan perintah pertama. Pastikan Anda memikirkan prosesnya saat menggunakan rm -rf. Hanya ingin memposting ini bukan hanya untuk catatan saya, tetapi siapa pun yang mengalami masalah.

Beberapa catatan

  • reboot ke root via grub agak tidak jelas bagi saya; Saya tidak me-reboot, hanya beralih menggunakan root (akun pengguna lain dengan sudohak istimewa akan berfungsi sama baiknya).
  • Sebelum menghapus paket ecryptfs-utilsdan libecryptfs0akan berfungsi, saya harus menghapus /home/.ecryptfs/<myusername>. (Mengeluh bahwa ecryptfs-utilssedang digunakan.)

Selain itu, ini berhasil bagi saya. Ini jauh dari sederhana, jadi silakan mengirim solusi yang lebih baik!

Jonik
sumber
Saya akan menerima ini karena berfungsi untuk saya, tetapi seperti saya katakan, jangan ragu untuk memposting sesuatu yang lebih sederhana atau lebih baik!
Jonik
3
Ini bekerja untuk saya pada 12,10 juga. Saya juga perlu menghapus /home/.ecryptfs/<myusername>dulu. Juga, saya harus menulis ulang /di konsol root, tapi saya rasa ini adalah cerita lain. Terima kasih!
Constantinius
1
Bekerja di 12,04 juga. Satu-satunya hal adalah jika Anda beralih ke root ( sudo su) alih-alih "me-reboot ke root melalui grub" itu berfungsi tetapi Anda harus keluar dari /home/user( cd /homemisalnya) dan mengeluarkan umount /home/useruntuk meng-unmount direktori home sebelum menggunakan rm -rf. Anda juga perlu rm -rf /home/user.backup/.ecryptfssebelum menghapus 2 paket.
laurent
3
+1 Ini lebih mudah dilakukan daripada SSH, tidak ada GRUB yang berurusan atau mencoba menghindari pemasangan apa pun. Berhati-hatilah menghapus / home / .ecryptfs. Tampaknya ia memiliki symlink yang menunjuk ke / home / nama pengguna. Saya kehilangan semua data saya.
htoip
2
Untuk langkah 1, jika Anda mendapatkan kesalahan: /home/<username>/.gvfs: Cannot stat: Permission deniedAnda selalu dapat menggunakan rsync:rsync -avz --exclude '*.gvfs' /home/<username> /home/<username>.backup
tir38
40

Inilah Anda, semoga ini membantu (lihat ecryptfs-setup-private(1)):

$ ecryptfs-setup-private --undo

Klaim keluaran:

Jika Anda ingin menghapus pengaturan Direktori Pribadi eCryptfs Anda, Anda harus hati-hati melakukan tindakan berikut secara manual:

  1. Dapatkan mountpoint direktori pribadi Anda

    $ PRIVATE=`cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private`
    
  2. Pastikan Anda telah memindahkan semua data yang relevan dari $PRIVATEdirektori Anda

  3. Lepas direktori pribadi terenkripsi Anda

    $ ecryptfs-umount-private
    
  4. Jadikan direktori pribadi Anda dapat ditulisi lagi

    $ chmod 700 $PRIVATE
    
  5. Hapus $PRIVATE, ~/.Private,~/.ecryptfs

    Catatan: INI SANGAT PERMANEN, SANGAT HATI-HATI

    $ rm -rf $PRIVATE ~/.Private ~/.ecryptfs
    
  6. Copot utilitasnya (ini khusus untuk distribusi Linux Anda)

    $ sudo apt-get remove ecryptfs-utils libecryptfs0
    
zuzust
sumber
Terima kasih. Saya sudah menyelesaikannya, tapi saya rasa ini berguna untuk orang lain.
Jonik
@Jonik Apakah Anda dapat masuk .ecryptfs/jonik/.Privatedengan benar setelah pembaruan kernel, atau apakah Anda mencadangkan dan membatalkan enkripsi?
isomorfisma
3
Ini hanya berlaku untuk direktori terenkripsi "~ / Private" dan bukan ke direktori home terenkripsi seperti yang dinyatakan OP. Lihat help.ubuntu.com/community/EncryptedHome untuk mengetahui perbedaannya.
lmeurs
15

Hal pertama yang harus dilakukan: CADANGAN RUMAH ANDA Saya tidak bisa mengatakannya lebih keras ... pada dasarnya membatalkan enkripsi sama dengan mengatur ulang ( rm -rf) rumah Anda, yang sebenarnya disembunyikan oleh mount.

Langkah 2: keluar dari manajer desktop mana saja dan pergi ke konsol virtual ( CTRL-ALT-F1)

Akhirnya: untuk detail:

ecryptfs-setup-private --undo

Jika Anda ingin menghapus pengaturan Direktori Pribadi eCryptfs Anda, Anda harus hati-hati melakukan tindakan berikut secara manual:

  1. Dapatkan mountpoint direktori pribadi Anda PRIVATE= cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private

  2. Pastikan Anda telah memindahkan semua data yang relevan dari $PRIVATEdirektori Anda

  3. Lepas direktori pribadi terenkripsi Anda

    ecryptfs-umount-private
    
  4. Jadikan direktori pribadi Anda dapat ditulisi lagi

    chmod 700 $PRIVATE
    
  5. Hapus $PRIVATE, ~/.Private, ~/.ecryptfs Catatan: INI SANGAT PERMANEN, SANGAT HATI-HATI

      rm -rf $PRIVATE ~/.Private ~/.ecryptfs
    
  6. Copot utilitas

     sudo apt-get remove ecryptfs-utils libecryptfs0
    

Saya akan mengatakan langkah 5 agak salah: tidak perlu menghapus $PRIVATE, yang bagi saya rumah saya ....

Setelah .Privatedan .ecryptfspenghapusan, pulihkan saja rumah Anda:]

hhlp
sumber
5
Bagaimana jika Anda telah mengenkripsi lebih dari setengah ruang hard disk Anda? Apakah ada jalan keluar, tanpa membeli drive lain?
isomorphismes
@ hhlp Menarik bahwa Anda tidak perlu menghapus $ PRIVATE Anda. Bukankah itu direktori home user Anda? Apakah ini menyiratkan bahwa seseorang tidak perlu menghapus direktori sendiri, kecuali bahwa cadangan selalu penting?
XavierStuvw
8

Langkah-langkah ini akan bekerja di lingkungan server

Langkah 1: Cadangkan direktori home Anda

sudo cp -rp / home / $ USER /home/$USER.backup

Langkah 2: Konfirmasikan apakah semuanya cadangan

sudo ls -al /home/$USER.backup

Langkah 3: Umount folder home, karena program enkripsi biasanya me-mount-nya ke titik mount misalnya /home/$USER, juga dikenal sebagai $HOME. Anda dapat mengonfirmasi titik pemasangan dengan menjalankan df -h $HOME. Anda harus cd /tmp(atau beberapa $HOMEdirektori lain) untuk dapat meng-unmount$HOME

cd / tmp
sudo umount / home / $ USER

Langkah 4: Hapus folder rumah lama

sudo rm -rf / home / $ USER

Langkah 5: Hapus file program enkripsi

sudo rm -rf /home/$USER.backup/.ecryptfs

Langkah 6: Hapus utilitas enkripsi dari sistem

sudo apt-get hapus ecryptfs-utils libecryptfs0

Langkah 7: Kembalikan folder rumah yang tidak dienkripsi kembali ke jalur aslinya

sudo mv /home/$USER.backup / home / $ USER

Langkah 8: Ubah kepemilikan folder yang dipulihkan kembali ke pengguna Anda

sudo chown -R $ (id -u): $ (id -g) / home / $ USER

Langkah 9: Keluar / Masuk, untuk memastikan semua barang pengguna dimulai kembali dengan benar (atau kesalahan akan terjadi saat Anda mengingat apa yang Anda lakukan)

Erick
sumber
Cemerlang. Terima kasih atas panduan yang jelas dan ringkas ini. Bantu aku!
James Lalor
Saya juga membersihkan /home/.ecryptfs/$USER dengan sudo rm -rf /home/.ecryptfs/$USER
JimB
5

Menambahkan panduan lain ke daftar panjang setelah saya menyadari bahwa langkah paling mengganggu yang disebutkan di tempat lain tidak diperlukan.

Panduan saya tidak perlu reboot dan saya telah berhasil menyelesaikannya melalui SSH . Ini juga harus berfungsi jika ada tunggangan eCryptf lain pada mesin.

Satu-satunya persyaratan yang tidak jelas adalah untuk dapat masuk sebagai pengguna lain dengan sudoakses.

  1. Login sebagai pengguna dengan direktori home terenkripsi (disebut userdalam panduan ini).

  2. Agar jalur di langkah-langkah berikut ini sederhana dan simetris:

    cd /home
    
  3. Gandakan isi folder rumah yang didekripsi ke direktori lain.

    sudo cp -rp user user.new
    
  4. Logout ( exitatau logout). Masuk sebagai sudoer lain.

  5. Pastikan pemasangan eCryptfs dilepas. Jangan umountsecara manual, itu bisa menyebabkan hilangnya data! (Mengalami diri saya sendiri. Saya sedang sesi SSH lain dengan userlogin.)

    mount | grep ecryptfs
    

    Keluaran harus kosong. Atau, jika ada tunggangan eCryptf lainnya, itu tidak boleh mengandung /home/user.

  6. Sama seperti langkah 2.

    cd /home
    
  7. Tandai duplikat sebagai tidak dikelola dengan eCryptfs. (Tidak perlu menghapus paket eCryptfs, terutama ketika ada tunggangan eCryptfs lainnya.)

    sudo rm user.new/.ecryptfs user.new/.Private
    
  8. Pindahkan direktori home yang tidak dienkripsi ke tempatnya.

    sudo mv user user.old && sudo mv user.new user
    
  9. Masuk sebagai userdan periksa bahwa semuanya berfungsi dan eCryptfs tidak masuk.

    mount | grep ecryptfs
    
  10. Hapus konten asli userfolder rumah dan data terenkripsi.

    rm -r /home/user.old
    sudo rm -r /home/.ecryptfs/user
    
Melebius
sumber
1
  • jika Anda dapat membuat cadangan ke penyimpanan eksternal, lakukanlah. (Tidak diperlukan secara langsung, tetapi selalu baik sebelum manipulasi file.)

  • membiasakan diri tty, setidaknya sedikit. (Tekan Ctrl Alt F7, Ctrl Alt F1dll.) Anda harus menggunakan dua- ttys. Satu root dan satu pengguna utama Anda.

  • login seperti rootpada tty yang terpisah, buat direktori home baru

    mkdir /home/user.newdir
    chown user:user /home/user.newdir
    
  • keluar dari sesi grafis. Anda dapat reboot untuk memastikan tidak ada program yang bekerja di bawah pengguna normal Anda.

  • login sebagai pengguna normal Anda pada tty yang terpisah, pindahkan semua file Anda ke tujuan baru:

    mv ~/* /home/user.newdir/
    
  • menggunakan roottty, ganti nama direktori:

    mv /home/user /home/user.encfs
    mv /home/user.newdir /home/user
    
  • segala sesuatu harus bekerja sekarang. :) Setelah Anda siap, menghapus file lama /home/.encryptfs, /home/user.encfs, /home/user/.Private, /home/user/.encryptfs. Jika mau, Anda dapat mengganti namanya terlebih dahulu dan menghapusnya nanti.

VasyaNovikov
sumber
1

Saya tidak menggunakan jawaban apa pun di sini. Sebaliknya (di Ubuntu Studio 14.04):

  1. Saya menyalin semua file yang ingin saya simpan, terutama semua file. *, Ke direktori di luar $ HOME.
  2. Saya membuat pengguna baru (Sistem> Pengguna dan Grup) dan menambahkan pengguna itu ke grup sudo. Saya meninggalkan kotak "Enkripsi folder rumah untuk melindungi data sensitif" tidak dicentang.
  3. Saya keluar dan masuk kembali sebagai pengguna baru kemudian menghapus akun asli saya, memeriksa untuk melihat apa angka UID pertama (opsi lanjutan), memilih opsi untuk menghapus file dalam $ HOME asli saya. Ini selesai tetapi dengan "kesalahan tidak dikenal". Saat check in / home saya dapat melihat bahwa $ HOME lama saya sudah habis
  4. Saya membuat ulang akun pengguna asli saya untuk memeriksa apakah itu dibuat dengan UID numerik asli, dan memang begitu, dan pastikan untuk meninggalkan kotak "Enkripsi folder rumah untuk melindungi data sensitif" tidak dicentang.
  5. Saya menghapus versi baru, praktis kosong, dari direktori $ HOME asli saya dan mengganti nama cadangan $ HOME ke $ HOME asli saya dan keluar.
  6. Saya masuk ke akun asli saya yang baru dan seolah-olah tidak terjadi apa-apa.
  7. Saya memeriksa / home untuk menemukan direktori .ecryptfs yang saya hapus tanpa efek buruk.

Saya tidak melihat alasan bahwa menghapus paket yang menyediakan direktori home terenkripsi tidak boleh opsional, dan saya telah menunda menghapus akun pengguna baru yang saya buat untuk tujuan ini karena saya pikir itu mungkin berguna di masa depan.

Alasan saya melakukan ini? Komputer lama sepertinya rusak. Ketika gagal, saya ingin dapat mengakses HD di komputer lain tanpa kerepotan.

Richard Kandarian
sumber
1

Penjelasan Jonik bekerja dengan baik. Tapi bukannya langkah 2, saya lakukan:

  1. Keluar
  2. Tekan Ctrl+ F4. Antarmuka baris perintah harus terbuka.
  3. Masuk sebagai root
  4. rm -rf .ecryptfs

Kemudian, bukannya langkah 6: Tekan Ctrl+ F7. Jika layar masuk GUI Anda tidak muncul, tekan Ctrl+ F8.

Martin Thoma
sumber
-3

Solusi sederhana yang bekerja untuk saya:

Anda harus memiliki pengguna lain dengan akses sudo

  1. Mulai ulang
  2. Pada layar login, tekan CTRL+ ALT+F1
  3. Login sebagai pengguna lain (dengan akses sudo)
  4. sudo rm -rf /home/youruser/.ecryptfs
  5. sudo rm /home/youruser/.Private
  6. sudo apt-get remove --purge ecryptfs-utils libecryptfs1
  7. sudo reboot
  8. Masuk sebagai pengguna Anda dan nikmati dir rumah Anda tanpa enkripsi;)
Sycu
sumber
3
Ini akan menghapus semua modifikasi yang dilakukan setelah menyalakan enkripsi. Mungkin OK untuk sistem yang baru saja diinstal tetapi Anda harus menyebutkannya secara eksplisit.
Melebius