usando localizar em uma partição criptografada

25

Selecionei / home / para ser criptografado quando estava instalando o Ubuntu. Agora, é possível locatetrabalhar com uma partição criptografada como esta?

m33lky
fonte
Eu tenho o mesmo problema - o localize encontrará arquivos fora da minha partição inicial criptografada, mas não poderá vê-los dentro dela. (Para ser sincero, eu gostaria de nunca criptografá-lo quando instalei o Ubuntu, com todos os problemas que tive com ele!) Por favor, alguém pode explicar em etapas claras o que preciso fazer para poder faça o find poder indexar dados em uma partição inicial criptografada. Eu sou um novato, então não é óbvio o que fazer lendo o texto acima :).
4
Seu /homeé um sistema de arquivos virtual (ecryptfs). Ele é "montado" como uma partição acessível quando você faz login. Verifique seu /etc/updatedb.conf e a) remova ecryptfs dos sistemas de arquivos ignorados (PRUNEFS) b) mude para PRUNE_BIND_MOUNTS = "no"
m33lky
4
Depois disso, você pode executar sudo updatedbpara indexar novos arquivos.
m33lky
ter em mente que o banco de dados localizar usos vidas no espaço sem criptografia, possivelmente comprometer a sua criptografia por nomes divulgando
Florian Heinle

Respostas:

29

Eu "executo o localize (atualizadob) quando estiver logado", como mencionado acima, e mantenho minha parte do banco de dados de localização em meu $ HOME criptografado.

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

e depois indexo os arquivos $HOMEcom

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

Agora eu tenho um índice completo de, $HOMEmas o banco de dados não é visível, a menos que $HOMEseja montado e descriptografado.

waltinator
fonte
Essa é uma boa solução. Como você migrou seu banco de dados para lá?
M33lky
4
Eu não fiz. Acabei de gerar um banco de dados para minha árvore inicial (criptografada) com updatedb -l 0 -o $HOME/var/mlocate.db $HOME. man locatediz que pesquisará no banco de dados padrão ( /var/lib/mlocate/mlocate.db) e depois na lista de bancos de dados $LOCATE_PATH.
waltinator
3
Não "remova ecryptfsda PRUNEFSdefinição /etc/updatedb.conf. Quando você estiver logado, /home/$USERserá descriptografado, mas os arquivos e nomes de arquivos criptografados /home/$USER/.Privatedeverão ser ignorados. Quando o seu $HOMEnão estiver montado, outros não terão acesso ao db ou ao (não criptografado). ) arquivos de nomes de arquivos.
waltinator
2
updatedb -l 0 -o $HOME/var/mlocate.db $HOMEestá faltando -U, deveria estarupdatedb -l 0 -o $HOME/var/mlocate.db -U $HOME
destan
2
Meu péssimo @destin também estendi meu método para indexar mídias removíveis usando o bash_path_funcs de Steve Collyer ( linuxjournal.com/article/3645 ). Com o meio removível montado (as /media/_name_) que eu faço updatedb -l 0 -o ~/var/mlocate/_name_.db -U /media/_name_ No meu .bashrc, eu tenho 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 e locateposso me mostrar nomes de arquivos mesmo quando o meio NÃO está montado.
waltinator
3

Que tal executar o updatedb quando o sistema de arquivos é descriptografado e tentar corresponder as variáveis ​​de ambiente para lê-lo / gravá-lo?

Depois de ler a página do manual, adicione duas variáveis ​​ao seu arquivo BASH RC.

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

Crie o diretório especificado acima e adicione $ username ao grupo mlocate.

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

Efetue logout e logon novamente para contar seu usuário no grupo mlocate e obter as novas variáveis ​​de ambiente. Agora, quando você corre,

updatedb -o $LOCATE_PATH

os arquivos descriptografados em um banco de dados de localização agora? Ou, o que você fez para fazê-lo funcionar ou melhor?

Você também pode adicionar o updatedb ao crontab do usuário. Primeira corrida:

crontab -e

E adicione a seguinte linha:

0 12 * * * updatedb -o $HOME/var/locate
mgajda
fonte
Veja meu comentário para Martin. Estou tentando entender se há alguma consideração de segurança ou configuração adequada que foi ignorada pelo Ubuntu.
precisa saber é
Devido ao fato de ecryptfs estar listado na variável PRUNEFS em /etc/updatedb.conf, você provavelmente também precisará usar --prunefs "nfs". Essa parece ser uma boa solução, pois armazena e atualiza o índice a por usuário a partir do perfil do usuário.
João Pinto
@ m33lky O problema é o seguinte: você pediu para criptografar seu homedir, para que ninguém (nem mesmo root!) possa lê-lo sem a senha. A solução inteligente é um banco de dados de localização por usuário. A solução fácil para uma máquina de usuário único é remover ecryptfse digitalizar quando você estiver conectado. No futuro, talvez locatepossa agregar resultados do banco de dados global e do banco de dados inicial do usuário atual.
Joeytwiddle
2

Não é realmente possível atualizar o índice do banco de dados sem estar conectado. Você deve efetuar login e executar o comando updatedb.

Verifique sua configuração em /etc/updatedb.conf. Remova ecryptfsde PRUNEFSe provavelmente /home/.ecryptfsde PRUNEPATHS. Não se esqueça de correr sudo updatedbatrás.

Martin Owens -doctormo-
fonte
1
updatedb.conf remove ecryptfs. Além disso, PRUNE_BIND_MOUNTS = "yes". Eu estou tentando entender o raciocínio por trás de tais padrões como este não é user-friendly para ter resultados de / home faltando em suas pesquisas :)
m33lky
Acho que a funcionalidade para casa é ter um indexador por usuário ... mas isso é especulação.
precisa saber é o seguinte
Sem criptografia / home fica indexado, por isso espero que o mesmo comportamento ...
m33lky
1
Eu estava descrevendo a situação da perspectiva da interface do usuário.
m33lky
2
Se você criptografou o disco inteiro, isso não seria um problema, se você tivesse apenas uma criptografia doméstica, agora precisará iniciar a indexação por usuário e usar cada criptografia individual ... na verdade, é melhor esconder o índice inicial na pasta inicial do usuário .... tudo isso é um grande desenvolvimento e custo para algo que a maioria dos usuários nunca vê. Por favor, reporte o bug no projeto de localização de ferramentas de banco de dados.
precisa saber é o seguinte