KDE 桌面环境中以 root 身份编辑文件

一直以来在 KDE 桌面环境下都可以通过使用 root 用户权限打开 kate/kwrite 等编辑器来编辑一些需要特定权限的文件,比如位于 /etc 目录下的系统全局配置文件。但是这样操作会带来很大的安全风险,因为 X11 非常不安全,也导致使用 root 帐户打开图形界面程序非常不安全。从 KDE 应用 17.04 开始,Kate 和 KWrite 已经不再允许使用 root 帐户运行了。

今年二月份的时候,Martin Graesslin 专门写了一篇博客介绍这一改变。相关源代码的更新在这里可以找到。关于这个问题的讨论可以在邮件列表中找到。具体的安全风险可以从这里的一点介绍看出来。一个演示代码在这里。

随着 KDE 应用 17.04.0 的正式发布,越来越多的发行版开始推送新版本的更新,也就导致很多人发现无法使用原来熟悉的方式去编辑需要额外权限的文本文件了。比如,有人喜欢运行 kdesu kate 来以 root 权限运行 Kate 文件编辑器应用,现在再运行的话,虽然还是会提示输入 root 帐户密码,但是输入后并没有以 root 身份运行的 Kate 出现。

当然,在开发者禁止用户以 root 权限运行 Kate 和 KWrite 的同时也是提供了替代方案的。当用户在命令行终端运行 sudo kate 的时候会有提示信息,

$ sudo kate
[sudo] password for root:
Executing Kate as root is not possible. To edit files as root use:
SUDO_EDITOR=kate sudoedit <file>

也就是说,可以使用 kate sudoedit 来代替。它与 sudo kate 的区别在于,这里 Kate 还是以当前用户的身份在运行,但是针对要编辑的文件提供了 root 读写权限。

当然也可以使用经典的 root 编辑工具 gedit 或者 leafpad 来编辑。或者直接使用命令行编辑工具 vim 等。

不过,对于 openSUSE Tumbleweed 来说,可能其开发者不太认同这种改变,所以他们在整合 KDE Applications 的时候决定恢复原来的执行方式。不过这个改变还没有正式合并到 openSUSE Tumbleweed 更新快照中。

与此类似的还有文件管理器 Dolphin。不过针对 Dolphin 的调整**已经**加入到 openSUSE Leap 42.3 和 Tumbleweed 中,所以即使是在 KDE Applications 17.04 以后,这两个平台的用户依旧可以使用 root 权限来运行 Dolphin。©

本文发表于水景一页。永久链接:<https://cnzhx.net/blog/edit-files-by-root-in-kde/>。转载请保留此信息及相应链接。

雁过留声,人过留名

电子邮件地址不会被公开。 必填项已用*标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南