использование locate на зашифрованном разделе

использование locate на зашифрованном разделе

Я выбрал /home/ для шифрования при установке Ubuntu. Теперь, возможно ли заставить locateработать с зашифрованным разделом, как это?

решение1

Я и "запускаю locate (updatedb) при входе в систему", как упоминалось выше, и сохраняюмойчасть базы данных locate в моем зашифрованном $HOME.

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

а затем я индексирую файлы $HOMEс помощью

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

Теперь у меня есть полный индекс, $HOMEно база данных не видна, пока $HOMEона не смонтирована и не расшифрована.

решение2

А как насчет запуска updatedb, когда ваша файловая система расшифрована, и попытки сопоставить переменные среды для ее чтения/записи?

После прочтения страницы руководства добавьте две переменные в ваш файл 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

Создайте указанный выше каталог и добавьте $username в группу mlocate.

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

Выйдите из системы и войдите снова, чтобы посчитать пользователя в группе mlocate и получить новые переменные среды. Теперь, когда вы запустите,

updatedb -o $LOCATE_PATH

расшифрованные файлы теперь в базе данных locate? Или что вы сделали, чтобы это заработало или стало лучше?

Вы также можете добавить updatedb в crontab пользователя. Первый запуск:

crontab -e

И добавьте следующую строку:

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

решение3

На самом деле невозможно обновить индекс базы данных без входа в систему. Вам следует войти в систему и выполнить команду updatedb.

Проверьте конфигурацию в /etc/updatedb.conf. Удалите ecryptfsиз PRUNEFSи, возможно, /home/.ecryptfsиз PRUNEPATHS. Не забудьте запустить sudo updatedbпосле.

Связанный контент