在 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
您已将firefox
和thunderbird
作为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