utilisation de la localisation sur une partition chiffrée

25

J'ai sélectionné / home / à chiffrer lors de l'installation d'Ubuntu. Maintenant, est-il possible de faire locatefonctionner avec une partition chiffrée comme celle-ci?

m33lky
la source
J'ai le même problème - Locate trouvera des fichiers à l'extérieur de ma partition domestique cryptée mais ne peut pas les voir à l'intérieur. (Pour être honnête, j'aurais aimé ne jamais l'avoir chiffré lorsque j'ai installé Ubuntu en premier lieu, avec tous les problèmes que j'ai rencontrés avec lui!) S'il vous plaît, quelqu'un peut-il expliquer en étapes claires ce que je dois faire pour pouvoir faire localiser être en mesure d'indexer les données sur une partition domestique cryptée. Je suis un débutant relatif, il n'est donc pas évident de savoir quoi faire à la lecture de ce qui précède :).
4
Votre /homeest un système de fichiers virtuel (ecryptfs). Elle est "montée" en tant que partition accessible lorsque vous vous connectez. Vérifiez votre /etc/updatedb.conf et a) supprimez ecryptfs des systèmes de fichiers ignorés (PRUNEFS) b) passez à PRUNE_BIND_MOUNTS = "no"
m33lky
4
Après cela, vous pouvez exécuter sudo updatedbpour indexer de nouveaux fichiers.
m33lky
gardez à l'esprit que la localisation de la base de données utilise des vies dans un espace non chiffré, ce qui pourrait compromettre votre chiffrement en divulguant les noms de fichiers
Florian Heinle

Réponses:

29

Je lance à la fois "Locate (updatedb) lorsque je suis connecté", comme mentionné ci-dessus, et je garde ma partie de la base de données Locate sous mon $ HOME chiffré.

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

puis j'indexer les fichiers $HOMEavec

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

Maintenant, j'ai un index complet de $HOMEmais la base de données n'est visible que si elle $HOMEest montée et déchiffrée.

waltinator
la source
Voilà une bonne solution. Comment avez-vous migré votre base de données là-bas?
m33lky
4
Non. Je viens de générer une base de données pour mon arbre de départ (chiffré), avec updatedb -l 0 -o $HOME/var/mlocate.db $HOME. man locateindique qu'il recherchera la base de données par défaut ( /var/lib/mlocate/mlocate.db), puis la liste des bases de données dans $LOCATE_PATH.
waltinator
3
Ne pas "supprimer ecryptfsde la PRUNEFSdéfinition dans /etc/updatedb.conf. Lorsque vous êtes connecté, /home/$USERest déchiffré, mais les fichiers et noms de fichiers chiffrés /home/$USER/.Privatedoivent être ignorés. Lorsque votre $HOMEn'est pas monté, les autres n'auront pas accès à la base de données ou à la (non chiffrée). ) fichiers de noms de fichiers
waltinator
2
updatedb -l 0 -o $HOME/var/mlocate.db $HOMEil manque -Uce devrait êtreupdatedb -l 0 -o $HOME/var/mlocate.db -U $HOME
destan
2
Mon mauvais, @destin J'ai également étendu ma méthode pour indexer les médias amovibles, en utilisant bash_path_funcs de Steve Collyer ( linuxjournal.com/article/3645 ). Avec le support amovible monté (comme /media/_name_) je le fais updatedb -l 0 -o ~/var/mlocate/_name_.db -U /media/_name_ Dans mon .bashrc, j'ai 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 et locatepeux me montrer les noms de fichiers même lorsque le support n'est PAS monté.
waltinator
3

Que diriez-vous d'exécuter updatedb lorsque votre système de fichiers est déchiffré et essayez de faire correspondre les variables d'environnement pour le lire / l'écrire?

Après avoir lu la page de manuel, ajoutez deux variables à votre fichier 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

Créez le répertoire spécifié ci-dessus et ajoutez $ username au groupe mlocate.

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

Déconnectez-vous et reconnectez-vous pour compter votre utilisateur dans le groupe mlocate et obtenir les nouvelles variables d'environnement. Maintenant, quand vous courez,

updatedb -o $LOCATE_PATH

sont les fichiers déchiffrés dans une base de données de localisation maintenant? Ou, qu'avez-vous fait pour le faire fonctionner ou mieux?

Vous pouvez également ajouter updatedb à la crontab de l'utilisateur. Première exécution:

crontab -e

Et ajoutez la ligne suivante:

0 12 * * * updatedb -o $HOME/var/locate
mgajda
la source
Voir mon commentaire à Martin. J'essaie de comprendre s'il y a des considérations de sécurité ou si la configuration appropriée a été négligée par Ubuntu.
m33lky
Étant donné que ecryptfs est répertorié dans la variable PRUNEFS à /etc/updatedb.conf, vous devez probablement également utiliser --prunefs "nfs". Cela semble être une bonne solution car il stocke et met à jour l'index a par utilisateur à partir du profil utilisateur.
João Pinto
@ m33lky Le problème est le suivant: vous avez demandé de crypter votre homedir, afin que personne (pas même root!) ne puisse le lire sans le mot de passe. La solution intelligente est une base de données de localisation par utilisateur. La solution simple pour une machine mono-utilisateur consiste à supprimer ecryptfset à analyser lorsque vous êtes connecté. À l'avenir, peut-être locatepourrait-il agréger les résultats de la base de données globale et de la base de données personnelle de l'utilisateur actuel.
joeytwiddle
2

Il n'est pas vraiment possible de mettre à jour l'index de la base de données sans être connecté. Vous devez vous connecter et exécuter la commande updatedb.

Vérifiez votre configuration /etc/updatedb.conf. Retirer ecryptfsde PRUNEFSet probablement /home/.ecryptfsde PRUNEPATHS. N'oubliez pas de courir sudo updatedbaprès.

Martin Owens -doctormo-
la source
1
updatedb.conf élague ecryptfs. De plus, PRUNE_BIND_MOUNTS = "oui". J'essaie de comprendre le raisonnement derrière de tels défauts car ce n'est pas convivial d'avoir des résultats de / home manquant dans vos recherches :)
m33lky
Je suppose que la fonctionnalité pour la maison est d'avoir un indexeur par utilisateur ... mais c'est de la spéculation.
Martin Owens -doctormo-
Sans cryptage / home est indexé, donc je m'attends au même comportement ...
m33lky
1
Je décrivais la situation du point de vue de l'interface utilisateur.
m33lky
2
Si vous avez chiffré l'intégralité du disque, ce ne serait pas un problème, si vous n'aviez qu'un chiffrement à la maison, vous devez maintenant commencer l'indexation par utilisateur et utiliser chaque chiffrement individuel ... en fait, vous pourriez tout aussi bien ranger l'index à la maison dans le dossier de départ de l'utilisateur ... ce qui est un développement majeur et un coût pour quelque chose que la plupart des utilisateurs ne voient jamais. Veuillez signaler le bogue par rapport au projet d'outils de localisation de bases de données.
Martin Owens -doctormo-