menggunakan cari di partisi terenkripsi

25

Saya memilih / home / untuk dienkripsi ketika saya menginstal Ubuntu. Sekarang, mungkinkah locatebekerja dengan partisi terenkripsi seperti ini?

m33lky
sumber
Saya memiliki masalah yang sama - cari akan menemukan file di luar partisi rumah terenkripsi saya tetapi tidak dapat melihatnya di dalamnya. (Sejujurnya, saya berharap saya tidak akan pernah mengenkripsi ketika saya menginstal Ubuntu di tempat pertama, dengan semua masalah yang saya alami dengan itu!) Tolong dapat seseorang menjelaskan dengan langkah-langkah yang jelas apa yang harus saya lakukan untuk dapat make loc dapat mengindeks data pada partisi rumah terenkripsi. Saya seorang pemula, jadi tidak jelas apa yang harus dilakukan dari membaca di atas :).
4
Anda /homeadalah sistem file virtual (ecryptfs). Itu "dipasang" sebagai partisi yang dapat diakses ketika Anda masuk. Periksa /etc/updatedb.conf Anda dan a) hapus ecryptfs dari sistem file yang diabaikan (PRUNEFS) b) ubah menjadi PRUNE_BIND_MOUNTS = "tidak"
m33lky
4
Setelah itu Anda dapat menjalankan sudo updatedbuntuk mengindeks file baru.
m33lky
perlu diingat bahwa lokasi basis data menggunakan kehidupan di ruang yang tidak terenkripsi, mungkin membahayakan enkripsi Anda dengan mengungkapkan nama file
Florian Heinle

Jawaban:

29

Saya berdua "jalankan loc (updatedb) ketika saya masuk", seperti yang disebutkan di atas, dan saya tetap menggunakannya bagian saya dari basis data loc di bawah $ HOME terenkripsi.

export LOCATE_PATH="$HOME/var/mlocate.db"

dan kemudian saya mengindeks file dalam$HOME dengan

updatedb -l 0 -o $HOME/var/mlocate.db -U $HOME

Sekarang saya memiliki indeks lengkap $HOMEtetapi database tidak terlihat kecuali $HOMEsudah dipasang dan didekripsi.

waltinator
sumber
Itu solusi yang bagus. Bagaimana Anda memigrasi db Anda di sana?
m33lky
4
Saya tidak melakukannya. Saya baru saja menghasilkan db untuk pohon rumah (terenkripsi) saya, dengan updatedb -l 0 -o $HOME/var/mlocate.db $HOME. man locatemengatakan akan mencari database default ( /var/lib/mlocate/mlocate.db), lalu daftar database di $LOCATE_PATH.
waltinator
3
Jangan "hapus ecryptfsdari PRUNEFSdefinisi masuk /etc/updatedb.conf. Ketika Anda login, /home/$USERdidekripsi, tetapi file dan nama file terenkripsi di /home/$USER/.Privateharus diabaikan. Ketika Anda $HOMEtidak dipasang, orang lain tidak akan memiliki akses ke db atau (tidak terenkripsi) ) file nama file.
waltinator
2
updatedb -l 0 -o $HOME/var/mlocate.db $HOMEada yang hilang -Uitu harusupdatedb -l 0 -o $HOME/var/mlocate.db -U $HOME
destan
2
Sayangnya, @destin saya telah memperpanjang metode saya untuk mengindeks media yang bisa dihapus, juga menggunakan bash_path_funcs Steve Collyer ( linuxjournal.com/article/3645 ). Dengan media yang dapat dilepas dipasang (as /media/_name_) saya lakukan updatedb -l 0 -o ~/var/mlocate/_name_.db -U /media/_name_ Di saya .bashrc, saya telah export LOCATE_PATH="$HOME/var/mlocate/mlocate.db for i in $HOME/var/mlocate/*.db ; do addpath -p LOCATE_PATH $i done uniqpath -p LOCATE_PATH dan locatedapat menunjukkan kepada saya nama file bahkan ketika media TIDAK dipasang.
waltinator
3

Bagaimana menjalankan updatedb ketika sistem file Anda didekripsi dan mencoba mencocokkan variabel lingkungan untuk membaca / menulisnya?

Setelah membaca halaman manual, tambahkan dua variabel ke file BASH RC Anda.

man locate
echo "export LOCATE_PATH=$HOME/var/lib/mlocate/mlocate.db:$LOCATE_PATH" >> ~/.bashrc
echo "export DBPATH=$HOME/var/lib/mlocate/mlocate.db:$DBPATH" >> ~/.bashrc

Buat direktori yang ditentukan di atas dan tambahkan $ username ke grup mlocate.

mkdir -p ~/var/lib/mlocate/
sudo usermod -a -G mlocate $username

Logout dan masuk lagi untuk menghitung pengguna Anda dalam grup mlocate dan dapatkan variabel lingkungan baru. Sekarang saat kamu berlari,

updatedb -o $LOCATE_PATH

Apakah file yang didekripsi di basis data lokasi sekarang? Atau, apa yang Anda lakukan untuk membuatnya bekerja atau lebih baik?

Anda mungkin juga ingin menambahkan updatedb ke crontab pengguna. Lari pertama:

crontab -e

Dan tambahkan baris berikut:

0 12 * * * updatedb -o $HOME/var/locate
mgajda
sumber
Lihat komentar saya pada Martin. Saya mencoba memahami jika ada pertimbangan keamanan atau konfigurasi yang tepat hanya diabaikan oleh Ubuntu.
m33lky
Karena ecryptfs terdaftar dalam variabel PRUNEFS di /etc/updatedb.conf, Anda mungkin juga perlu menggunakan --prunefs "nfs". Ini tampaknya menjadi solusi yang baik karena menyimpan dan memperbarui indeks per pengguna dari profil pengguna.
João Pinto
@ m33lky Masalahnya adalah ini: Anda telah diminta untuk mengenkripsi homedir Anda, sehingga tidak seorang pun (bahkan tidak root!) dapat membacanya tanpa kata sandi. Solusi cerdas adalah basis data lokasi per pengguna. Solusi mudah untuk mesin satu pengguna adalah menghapus ecryptfsdan memindai ketika Anda masuk. Di masa depan, mungkin locatedapat mengumpulkan hasil dari DB global dan DB rumah pengguna saat ini.
joeytwiddle
2

Tidak benar-benar mungkin untuk memperbarui indeks basis data tanpa login. Anda harus masuk dan menjalankan perintah updatedb.

Periksa konfigurasi Anda /etc/updatedb.conf. Hapus ecryptfsdari PRUNEFSdan mungkin /home/.ecryptfsdari PRUNEPATHS. Jangan lupa untuk sudo updatedbmengejarnya.

Martin Owens -doctormo-
sumber
1
updatedb.conf memangkas ecryptfs. Juga, PRUNE_BIND_MOUNTS = "ya". Saya mencoba memahami alasan di balik default seperti ini karena tidak mudah untuk memiliki hasil dari / home yang tidak ada dalam pencarian Anda :)
m33lky
Saya menduga fungsi untuk rumah adalah memiliki pengindeks per pengguna ... tapi itu spekulasi.
Martin Owens -doctormo-
Tanpa enkripsi / home diindeks, jadi saya mengharapkan perilaku yang sama ...
m33lky
1
Saya menggambarkan situasi dari perspektif antarmuka pengguna.
m33lky
2
Jika Anda mengenkripsi seluruh disk, ini tidak akan menjadi masalah, jika Anda hanya memiliki enkripsi rumah maka Anda sekarang harus mulai mengindeks per pengguna dan menggunakan setiap enkripsi individu ... sebenarnya Anda mungkin juga cukup menyimpan indeks rumah di folder home pengguna .... yang semuanya merupakan pengembangan besar dan biaya untuk sesuatu yang tidak pernah dilihat sebagian besar pengguna. Silakan laporkan bug terhadap proyek alat basis data lokasi.
Martin Owens -doctormo-