我在联想 X220 上使用 Ubuntu 13.04。
为什么我的主目录中有这么多 .Xauthority.* 文件?例如
.Xauthority .Xauthority.0JW6UW .Xauthority.2HWRVW .Xauthority.2TA6VW .Xauthority.49F8VW .Xauthority.4E27UW .Xauthority.7CLTVW .Xauthority.8JGGXW .Xauthority.96SAVW .Xauthority.AOUFVW .Xauthority.ASDOVW .Xauthority.CGVJXW .Xauthority.E0ZSVW .Xauthority.E5VZWW .Xauthority.FE64UW .Xauthority.FIHDWW .Xauthority.HL45VW .Xauthority.HYCCVW .Xauthority.ILUEWW .Xauthority.JXJHVW .Xauthority.K1QJXW .Xauthority.KXSOVW .Xauthority.LEKEVW .Xauthority.M48WVW .Xauthority.M6QTVW .Xauthority.MW6NWW .Xauthority.N57TWW .Xauthority.O5HAWW .Xauthority.OIC5VW .Xauthority.P2RPVW .Xauthority.Q0FRVW .Xauthority.QW01WW .Xauthority.RDW5WW .Xauthority.T0TLWW .Xauthority.TSO4WW .Xauthority.U6R9VW .Xauthority.V3KAWW .Xauthority.W8Z1WW .Xauthority.XDLGVW .Xauthority.XOOHWW.Xauthority.XUICVW
除第一个之外,其余均为零字节,且到处都有时间戳。
这些是什么?删除它们安全吗?
答案1
这些是 X 客户端的“cookie”,用于允许连接到 X 服务器(显示)。wiki 中对此有非常清晰的解释:
xauth 是一种在 X 服务器(显示器)上强制执行访问控制的机制。启动 X 服务器时,会为其指定一个随机生成的“cookie”。此 cookie 会写入运行 X 服务器会话的用户所拥有且可读取的文件中。其他用户无法读取该文件。启动 X 客户端(应用程序)时,它会尝试读取并使用该 cookie 向服务器验证自身身份。如果此“xauth”验证失败,则不允许应用程序连接到服务器并在 X 显示器上显示窗口。
命令
$ xauth list
将显示当前会话可用的 cookie:
selene/unix:0 MIT-MAGIC-COOKIE-1 c2438e7c2858f142e0b81d6b4fe3867b localhost.localdomain/unix:0 MIT-MAGIC-COOKIE-1 c2438e7c2858f142e0b81d6b4fe3867b
传统上,每个用户的 cookie 的位置是 ~/.Xauthority:X 服务器在启动时将其 cookie 写入该文件,然后 xauth(和其他 X 客户端)在该文件中查找身份验证 cookie。
来源:https://wiki.ubuntu.com/RemoteXHowTo
正如这里所示,这似乎是 lightdm 的一个错误,它不会删除旧的 cookie 并污染目录/home
。
https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/1175023
事实上,我和你一样也遇到了这个问题,而且.goutputstream
文件也出现了另一个错误:
https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/984785
那么是的,您可以删除它们,因为如果您没有用于连接到 X 服务器的 cookie,您将创建一个新的。
答案2
似乎这是少数人使用 lightdm 时遇到的一个错误
因此,请点击此链接,当他们解决问题时,你就会得到答案。
https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/1175023
因此安装 gdm 窗口管理器可能会避免此问题。由于我没有遇到此问题,因此无法测试。
答案3
对于那些像我一样希望摆脱用户目录中的这种“污染”的人来说,一个临时的解决方案可能是放置类似以下(可执行)脚本文件(假设您是第一个用户后根)进入/etc/cron.daily
目录:
#!/bin/bash
USER="$(users | awk -F ' ' '{print $2}')"
ls /home/"$USER"/.Xauthority.* > /home/"$USER"/.Xauthority-Files.txt
NFILES="$(grep -c Xauthority /home/"$USER"/.Xauthority-Files.txt)"
LOG="/home/"$USER"/.Xauthority-Files.log"
echo -e "$(date +"%x %R"): "$NFILES" .Xauthority.* files deleted" >> "$LOG"
rm -f /home/"$USER"/.Xauthority.*
rm -f /home/"$USER"/.Xauthority-Files.txt
exit 0
注意:此更新的脚本会保留一个名为“.Xauthority-Files.log”的日志文件,以便您可以跟进最近的更新是否已结束此错误,然后在不再需要时删除该脚本。
笔记:
@user196886 建议使用替代脚本,说“我不想对 USER 变量进行任何改动,我只想要图形登录用户 (UID>500) 的主目录,如果主目录位于 /home,我需要删除其他用户文件的权限,我很高兴看到我正在删除的内容并将手动确认。我的日志文件名为 Xa.log,$h 是主目录,$ba 是 log and delete with 的基本名称缩写。“
建议的脚本是:
for h in `awk -F: '$3 >500 && /home/ {print $6}' /etc/passwd`; do b=$h/.Xauthority;[ -f $b.* ] && ls -l $b.* >>Xa.log && sudo rm -i $b.*; done
答案4
我最近在我的主目录中发现了大量 .Xauthority.ZY43OW 以及大量 .goutputstream.DF55OZ 文件(6 个字符的文件扩展名当然都是不同的)。我在文本编辑器中打开了一个文件,它包含一个中文字符串。我试着用翻译器运行它,它说了一些关于佃农的内容。我非常怀疑这些文件代表着有人试图控制我的电脑。我想不出还有什么其他原因可以解释为什么我的电脑上隐藏着大量中文字符串。