Я выбрал / home / для шифрования при установке Ubuntu. Теперь можно ли заставить locate
работать с зашифрованным разделом, как это?
filesystem
encryption
m33lky
источник
источник
/home
виртуальная файловая система (ecryptfs). Он «монтируется» как доступный раздел при входе в систему. Проверьте /etc/updatedb.conf и а) удалите ecryptfs из игнорируемых файловых систем (PRUNEFS) б) измените на PRUNE_BIND_MOUNTS = «нет»sudo updatedb
индексировать новые файлы.Ответы:
Я оба "запускаю locate (updatedb) при входе в систему", как упоминалось выше, и я храню свою часть базы данных locate в моем зашифрованном $ HOME.
а затем я индексирую файлы
$HOME
сТеперь у меня есть полный индекс,
$HOME
но база данных не видна, если$HOME
она не смонтирована и не расшифрована.источник
updatedb -l 0 -o $HOME/var/mlocate.db $HOME
.man locate
говорит, что будет искать базу данных по умолчанию (/var/lib/mlocate/mlocate.db
), а затем список баз данных в$LOCATE_PATH
.ecryptfs
изPRUNEFS
определения в»/etc/updatedb.conf
. Когда вы вошли в систему,/home/$USER
дешифруется, но зашифрованные файлы и имена файлов в них/home/$USER/.Private
должны игнорироваться. Когда вы$HOME
не подключены, другие не будут иметь доступа к БД или (незашифрованным). ) файлы с именами файлов.updatedb -l 0 -o $HOME/var/mlocate.db $HOME
там не хватает,-U
это должно бытьupdatedb -l 0 -o $HOME/var/mlocate.db -U $HOME
/media/_name_
), который я делаюupdatedb -l 0 -o ~/var/mlocate/_name_.db -U /media/_name_
В моем.bashrc
, я имею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
иlocate
могу показывать мне имена файлов, даже если носитель НЕ смонтирован.Как насчет запуска updatedb, когда ваша файловая система дешифруется и пытается сопоставить переменные среды для чтения / записи?
Прочитав man-страницу, добавьте две переменные в ваш файл BASH RC.
Создайте каталог, указанный выше, и добавьте $ username в группу mlocate.
Выйдите из системы и снова войдите в систему, чтобы подсчитать пользователя в группе mlocate и получить новые переменные среды. Теперь, когда ты бежишь,
находятся ли расшифрованные файлы в базе данных locate сейчас? Или что вы сделали, чтобы это работало или лучше?
Вы также можете добавить updatedb в crontab пользователя. Первый забег:
И добавьте следующую строку:
источник
root
!) не мог прочитать его без пароля. Интеллектуальное решение - это база данных для каждого пользователя. Простое решение для однопользовательской машины - это удалениеecryptfs
и сканирование при входе в систему. В будущем, возможно, возможноlocate
объединение результатов из глобальной БД и домашней БД текущего пользователя.На самом деле невозможно обновить индекс базы данных без входа в систему. Вы должны войти в систему и выполнить команду updatedb.
Проверьте ваш конфиг в
/etc/updatedb.conf
. Удалитьecryptfs
изPRUNEFS
и, вероятно,/home/.ecryptfs
изPRUNEPATHS
. Не забудьте бежатьsudo updatedb
заисточник