şifreli bir bölümdeki konumlandırmayı kullanarak


25

Ubuntu'yu kurarken / home / şifrelenmeyi seçtim. Şimdi, bunun locategibi şifrelenmiş bir bölümle çalışmak mümkün mü?


Aynı sorunu yaşıyorum - bulma işlemi şifreli ev bölümümün dışındaki dosyaları bulacak ancak içinde göremiyor. (Dürüst olmak gerekirse, Ubuntu'yu ilk etapta kurduğumda, onunla yaşadığım tüm problemlerle şifrelemeyi diliyorum!) Birisi, yapabileceklerimi yapmanız gerekenleri açık adımlarla açıklayabilir mi? şifreli bir ev bölümündeki verileri endeksleyebilecek duruma getirme. Göreceli bir acemi olduğum için yukarıdakileri okumaktan ne yapacağım belli değil :).

4
Sizin /homesanal bir dosya sistemidir (ecryptfs). Giriş yaptığınızda erişilebilir bir bölüm olarak "monte edilir". /Etc/updatedb.conf dosyanızı kontrol edin ve a) ecryptfs'leri yok sayılan dosya sistemlerinden (PRUNEFS) kaldırın b) PRUNE_BIND_MOUNTS = "no"
m33lky

4
Bundan sonra sudo updatedbyeni dosyaları indekslemek için çalıştırabilirsiniz .
m33lky

Veri tabanı bulmanın, şifrelenmemiş alandaki yaşamları kullandığını ve muhtemelen dosya adlarını açıklayarak şifrelemenizi tehlikeye
attığını unutmayın

Yanıtlar:


29

Ben hem "run bulun (updatedb) Giriş yaptım olduğumda" yukarıda belirtildiği gibi, ve ben tutmak benim parçası benim şifreli $ HOME altında veritabanını bulun.

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

ve sonra dosyaları $HOMEile dizin

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

Şimdi tam bir dizin var $HOMEama bağlanma $HOMEve şifresini çözmedikçe veritabanı görünmez .


Bu güzel bir çözüm. Db'nizi oraya nasıl geçirdiniz?
m33lky

4
Yapmadım Az önce (şifreli) ev ağacım için bir db oluşturdum updatedb -l 0 -o $HOME/var/mlocate.db $HOME. man locatevarsayılan veritabanını ( /var/lib/mlocate/mlocate.db), ardından içindeki veritabanlarının listesini arayacağını söylüyor $LOCATE_PATH.
vali

3
Yapma "kaldırmayı ecryptfsgelen PRUNEFStanımına /etc/updatedb.conf. Giriş yaptıktan sonra, /home/$USERdeşifre edilir, ancak şifreli dosyalar ve dosya adları /home/$USER/.Privategöz ardı edilmelidir. When $HOMEmonte edilmez, diğerleri db ya da (şifresiz erişemez olacak ) dosya adlarının dosyaları
waltinator

2
updatedb -l 0 -o $HOME/var/mlocate.db $HOME-Uolması gerektiği eksikupdatedb -l 0 -o $HOME/var/mlocate.db -U $HOME
destan

2
Benim kötü, @destin Steve Collyer'in bash_path_funcs ( linuxjournal.com/article/3645 ) kullanarak, çıkarılabilir medyayı dizinleme yöntemimi de genişlettim . Seyyar orta (aynı monte ile /media/_name_yapmam) updatedb -l 0 -o ~/var/mlocate/_name_.db -U /media/_name_ Benim içinde .bashrc, ben 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 ve locatebana orta bile filenames gösterebilir DEĞİL monte.
waltinator

3

Dosya sisteminizin şifresi çözüldüğünde ve onu okumak / yazmak için ortam değişkenleriyle eşleştirmeyi denediğinde updatedb komutunu çalıştırmaya ne dersiniz?

Kılavuz sayfasını okuduktan sonra, BASH RC dosyanıza iki değişken ekleyin.

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

Yukarıda belirtilen dizini yapın ve mlocate grubuna $ username ekleyin.

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

Kullanıcıyı mlocate grubundan saymak ve yeni ortam değişkenlerini almak için oturumu kapatıp tekrar açın. Şimdi kaçtığında,

updatedb -o $LOCATE_PATH

şifresini çözme dosyaları şimdi bir veritabanı bul? Ya da daha iyi ya da daha iyi hale getirmek için ne yaptınız?

Ayrıca kullanıcının crontab dosyasına updatedb eklemek isteyebilirsiniz. İlk çalıştırma:

crontab -e

Ve aşağıdaki satırı ekleyin:

0 12 * * * updatedb -o $HOME/var/locate

Martin hakkındaki yorumuma bakın. Herhangi bir güvenlik sorunu olup olmadığını veya uygun bir yapılandırmanın Ubuntu tarafından gözden kaçırıldığını anlamaya çalışıyorum.
m33lky

Ecryptfs'nin /etc/updatedb.conf adresindeki PRUNEFS değişkeninde listelenmesi nedeniyle, muhtemelen --prunefs "nfs" kullanmanız gerekir. Bu, kullanıcı profiline göre kullanıcı başına endeksini depolayıp güncellediğinden iyi bir çözüm gibi görünüyor.
João Pinto

@ m33lky Sorun şudur: homedir şifrelemek istediniz, böylece hiç kimse (hatta root!!) şifre olmadan okuyamaz. Akıllı çözüm, kullanıcı başına konumlandırma veritabanıdır. Tek kullanıcılı bir makinenin kolay çözümü ecryptfs, oturum açtığınızda kaldırmak ve taramaktır. Gelecekte, belki de locateglobal DB ve mevcut kullanıcının home DB'sinden gelen sonuçları bir araya getirebiliriz.
joeytwiddle

2

Giriş yapmadan veritabanı dizinini güncellemek gerçekten mümkün değil. Giriş yapmalı ve updatedb komutunu çalıştırmalısınız.

Konfigürasyonunuzu kontrol edin /etc/updatedb.conf. Kaldır ecryptfsdan PRUNEFSve muhtemelen /home/.ecryptfsdan PRUNEPATHS. Kaçmayı unutma sudo updatedb.


1
updatedb.conf kuru erik ecryptfs. Ayrıca, PRUNE_BIND_MOUNTS = "evet". Aramalarınızda / home sonuçlarının eksik olması kullanıcı dostu olmadığı için bu varsayılanların arkasındaki nedenleri anlamaya çalışıyorum :)
m33lky

Ev için işlevselliğin kullanıcı başına bir indeksleyiciye sahip olduğunu tahmin ediyorum ... ama bu spekülasyon.
Martin Owens -doctormo

Ben aynı davranışı bekliyoruz böylece şifreleme olmadan / ev, dizine alır ...
m33lky

1
Durumu kullanıcı arayüzü perspektifinden anlatıyordum.
m33lky

2
Diskin tamamını şifrelediyseniz, bu bir sorun olmazdı, yalnızca bir ev şifrelemeniz varsa, şimdi kullanıcı başına dizin oluşturmaya ve her bir şifrelemeyi kullanmaya başlamanız gerekir ... aslında ev dizinini de saklayabilirsiniz kullanıcının ana klasöründe .... hepsi çoğu kullanıcının asla görmediği bir şey için büyük gelişme ve maliyet. Lütfen tespit veri tabanı araçları projesine karşı hatayı bildirin.
Martin Owens -doctormo-
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.