/dev/shm/ecryptfs-$USER-Private 在 Kubuntu 12.10 安装中不断攀升

/dev/shm/ecryptfs-$USER-Private 在 Kubuntu 12.10 安装中不断攀升

我在安装具有加密主目录的 Kubuntu 12.10 时遇到问题。几个星期以来我一直在试图弄清楚。为了透明起见,我会在这里指出,我在 askubuntu.com 上发布了这个问题一段时间,但由于缺乏回应,我已将其从那里删除并发布在这里。

几周前我注意到,当我注销系统时,我的加密主目录并不总是会重新加密——当我从另一台计算机通过 SSH 连接到计算机时,我仍然能够查看和访问主目录中的文件计算机(需要明确的是,我的 SSHD 需要共享密钥——这可能稍后会相关)。我做了一些阅读,发现ecryptfs依赖于计数器文件来/dev/shm/ecryptfs-$USER-Private知道何时重新加密主目录:当用户登录时,计数器为“1”,当用户注销时,计数器命中“0”并触发加密。

定期运行cat /dev/shm/ecryptfs-my_user_name-Private,我发现了一些奇怪的事情:在我登录物理机后,计数器文件有一段时间保持在1,然后开始增长。有一次,在让系统保持开启几天后,(据我记得)是 93!

我在以下位置找到了有关同一类型问题的报告http://www.mail-archive.com/[电子邮件受保护]/msg01705.html。该页面指出,不同的因素都可能导致计数器增加,包括ssh登录和cron

即使阅读了该页面,我也很难找出导致问题的原因。以下是我观察到的一些事情:

1) 虽然当我重新启动计算机然后重新登录时计数器重置为 1,但登录后几个小时后计数器仍然开始增加。

2) 即使我的计算机没有活动的 SSH 连接,也会发生这种情况。

3)即使我的计算机位于不同的网络上,也会发生这种情况。因此,我认为这与未经授权的用户访问我的系统无关。

4)这似乎与在终端(或 GUI 中的等效项)中使用 sudo 无关。

5) 我设置了一个 cron 作业来记录每 5 分钟的输出cat /dev/shm/ecryptfs-my_user_name-Private,但找不到我当时所做的任何事情与计数器开始增加的点(从 1 到 3)之间的任何相关性)。

6) 除了上面提到的每五分钟记录一次计数器的脚本之外,我还禁用了所有自定义 crontab 条目。计数器的增加似乎与此脚本的运行无关cron。 Anacrontab 也没有任何自定义条目。

记录结果

我开始连续几天每五分钟记录一次计数器的值。在典型的一天中,结果如下: 重新启动计算机后,我通过 SSH 登录。在我持续几个小时的会话期间,计数器一直处于 1。然后我禁用网络并登录到物理机(使用 KDE DE)。计数器在 1 处停留了 50 分钟,然后跳到 3。我在那时启用了 wifi。一小时后,数字跃升至 420。五分钟后,数字为 537,直到我关闭机器(至少半小时后)。

w显示三行:一行在 tty7 上,一行在 pts/1 ( kdeinit4: kded4 [kdeinit]) 上,一行在 pts/3 (我正在使用的终端w)上。因此,我认为并不是有 537 个用户登录到我的计算机。这里可能发生了什么?

后来,我开始每分钟记录一次计数器/dev/shm/ecryptfs-$USER-Private,然后在计数器增加的几分钟内查看 /var/sys/syslog 中的系统日志。在计数器增加的几分钟内,我能看到的唯一一件事是稳定的“[UFW BLOCK]”行(需要明确的是,我用作ufw系统防火墙,并且只打开一个端口,用于 SSH) )。除了记录计数器的 cron 作业之外,似乎没有其他事件是一致的(不过,该 cron 作业并不总是与计数器的增加相关,并且在问题开始时并不存在)。

接下来我应该做什么来解决这个问题?我将非常感谢任何建议或想法。

答案1

中的计数器/dev/shm/ecryptfs-my_user_name-Private似乎是由 ecryptfs 中的自动卸载设置管理的。一些指南建议删除 ~/.ecryptfs/auto-umount以获得像ecryptfs 这样的终端多路复用器(请screen参阅tmuxhttps://askubuntu.com/questions/240555/how-to-prevent-ecryptfs-from-umounting-home-if-tmux-is-still-running,https://serverfault.com/questions/536407/tmux-and-encryptfs-causing-unreachable-directories-upon-reconnect)。当您删除 时~/.ecryptfs/auto-umount,ecryptfs 自动卸载程序将停止跟踪此计数器,至少它不再减少它。

我还注意到,即使在恢复~/.ecryptfs/auto-umount.为了解决这个问题,我在 my 中添加了以下内容,~/.bash_logout以允许计数器在使用时正确递减screen

# needed for preventing ecryptfs auto-umount if screen is running
# from https://serverfault.com/questions/536407/tmux-and-encryptfs-causing-unreachable-directories-upon-reconnect
screenout=`screen -ls | head -1 | awk '{print $1}'`
if [ "$screenout" == "No" ]; then
        # screen isn't running
        touch $HOME/.ecryptfs/auto-umount
else
# screen session still running
    if [ -e $HOME/.ecryptfs/auto-umount ]; then
            rm $HOME/.ecryptfs/auto-umount
    fi
    # handle counter manually since removing it 
    count=`cat /dev/shm/ecryptfs-username-Private`
    # decrement counter
    let count--
    # write decremented value to counter file
    echo $count > /dev/shm/ecryptfs-username-Private
fi

您可能必须使用手动重置计数器echo 1 > /dev/shm/ecryptfs-username-Private,然后注销。我已经测试过,我的.bash_logout修改似乎是解决该问题的有效方法。

相关内容