Firefox 和 Thunderbird 因权限问题无法启动

Firefox 和 Thunderbird 因权限问题无法启动

在 Ubuntu 15.04 上顺利使用了 Firefox 和 Thunderbird 近半年之后,它们突然无法再启动了,无论是从启动器还是从终端。尝试从终端启动时出现错误Could not create gnome accelerators directory '/home/<username>/.gnome2/accels': Permission denied。我仍然能够使用启动这两个程序sudo。在看到整个都./.gnome2在 root 所有权之下后,我将所有权更改/home/<username>/.gnome2/accels为我的用户。现在我可以再次启动 Firefox,但对于 Thunderbird 我仍然收到相同的错误。因此,我./.gnome2递归地更改了整个文件夹的所有权,这使我能够再次正常打开这两个程序,但现在有些程序无法访问正确的配置文件,因为我的所有邮件地址在 Thunderbird 中都消失了,Firefox 中的所有附加组件设置也消失了。现在我想知道:

  1. 是什么导致了这个问题?
  2. 解决这个问题的正确方法是什么?

答案1

您已将firefoxthunderbird作为root或通过运行sudo。这是一个坏主意,原因有很多。一个原因是,保存的任何文件(包括配置文件)都将归 拥有root。另一个原因是,以 身份运行它们root会使它们成为非常强大的射击工具。

要修复,请更改目录的所有权其内容为(man sudo;man chown; man id先读):

sudo chown -R $(id-u):$(id -g) ${HOME}/.gnome2 

$HOME要查找 中拥有的其他文件和目录root,您可以执行以下操作:

sudo find ${HOME} -user root -ls  

查找 $USER 无权访问的文件:

sudo find $HOME \! -readable -ls

相关内容