J'ai sélectionné / home / à chiffrer lors de l'installation d'Ubuntu. Maintenant, est-il possible de faire locate
fonctionner avec une partition chiffrée comme celle-ci?
filesystem
encryption
m33lky
la source
la source
/home
est 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"sudo updatedb
pour indexer de nouveaux fichiers.Réponses:
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é.
puis j'indexer les fichiers
$HOME
avecMaintenant, j'ai un index complet de
$HOME
mais la base de données n'est visible que si elle$HOME
est montée et déchiffrée.la source
updatedb -l 0 -o $HOME/var/mlocate.db $HOME
.man locate
indique 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
.ecryptfs
de laPRUNEFS
définition dans/etc/updatedb.conf
. Lorsque vous êtes connecté,/home/$USER
est déchiffré, mais les fichiers et noms de fichiers chiffrés/home/$USER/.Private
doivent être ignorés. Lorsque votre$HOME
n'est pas monté, les autres n'auront pas accès à la base de données ou à la (non chiffrée). ) fichiers de noms de fichiersupdatedb -l 0 -o $HOME/var/mlocate.db $HOME
il manque-U
ce devrait êtreupdatedb -l 0 -o $HOME/var/mlocate.db -U $HOME
/media/_name_
) je le faisupdatedb -l 0 -o ~/var/mlocate/_name_.db -U /media/_name_
Dans mon.bashrc
, j'aiexport 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
etlocate
peux me montrer les noms de fichiers même lorsque le support n'est PAS monté.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.
Créez le répertoire spécifié ci-dessus et ajoutez $ username au groupe mlocate.
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,
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:
Et ajoutez la ligne suivante:
la source
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 à supprimerecryptfs
et à analyser lorsque vous êtes connecté. À l'avenir, peut-êtrelocate
pourrait-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.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
. Retirerecryptfs
dePRUNEFS
et probablement/home/.ecryptfs
dePRUNEPATHS
. N'oubliez pas de courirsudo updatedb
après.la source