我在安装 Ubuntu 时选择加密 /home/。现在可以使用locate
这样的加密分区吗?
答案1
我既“在登录时运行locate(updatedb),如上所述,我也继续我的我的加密 $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
解密文件现在是否位于定位数据库中?或者,您做了什么来使其正常工作或变得更好?
您可能还想将 updatedb 添加到用户的 crontab。首次运行:
crontab -e
并添加以下行:
0 12 * * * updatedb -o $HOME/var/locate
答案3
如果不登录,实际上不可能更新数据库索引。您应该登录并运行 updatedb 命令。
检查 中的配置。从 中/etc/updatedb.conf
删除,可能从 中删除。不要忘记在 之后运行。ecryptfs
PRUNEFS
/home/.ecryptfs
PRUNEPATHS
sudo updatedb