我已经阅读了社区“RootSudo”文档并对这一行感兴趣:
您永远不应该使用普通的 sudo 以 Root 身份启动图形应用程序。
为什么?有什么不同?请提供一个简单的解释,因为我只是一个普通的桌面用户。
我一直在使用gksudo nautilus和sudo nautilus通过Alt+ F2。
有什么不同?他们看起来非常相似!
我在 Ubuntu 12.04 LTS 中遇到了 Nautilus 问题。
当我运行命令时gksu nautilus /,出现密码询问框,我输入我的超级用户密码,然后密码框消失并且 Nautilus 没有打开。
当我尝试使用命令以普通用户身份打开 Nautilus 时nautilus,该文件夹被打开。
当我在终端中尝试时
$ sudo nautilus
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
$ sudo nautilus /
** (nautilus:8523): WARNING **: Command line `dbus-launch --autolaunch=2c8ce9b7da2257c2609b749700000007 --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n Could not parse arguments: Cannot open display:
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个错误?
不同风格的 Ubuntu 中的默认文本编辑器(GUI 和 CLI)是什么。我们应该使用哪些命令来编辑文件?
问题的背后
我尝试过 Kubuntu 并想尝试更多的 Ubuntu 风格和其他发行版,但是当我在 Kubuntu 时,我非常努力地运行gksu gedit /path/file.txt它不会工作,因为 gedit 不是 Kubuntu 中的默认文本编辑器,它是 kate。我很高兴nano有空。但如果我想尝试更多风格,我必须知道各种 Ubuntu 风格中的默认文本编辑器是什么
我已经阅读了很多关于 gksu 从许多 Linux 版本中删除的主题,包括 Ubuntu 18.04。许多人表示 gksu 是一种令人憎恶的东西,任何用户都不需要使用类似的东西。我有 2 个例子,据我所知,我必须有一些东西可以让我以 root 身份运行(不仅仅是为了编辑文件)。
首先,只有在(GUI)命令上打开加密文件夹后,我才需要启动 mysql。这意味着让启动 mysql 服务的加密系统运行一个脚本。这必须以 root 身份完成,所以我在那个要求我输入密码的启动脚本中使用 gksu。我还能如何从 GUI 系统启动服务?
我也以root身份运行Ubuntu系统备份,否则很多系统文件无法备份。所以桌面文件使用 gksu 开始备份。
pkexec 看起来很复杂,需要策略文件。这是唯一的选择吗,如果是,为什么它更安全?
类似问题的其他答案似乎并没有解决人们现在 gksu 不再存在(或更难找到......)的个人问题。我认为来自非专家用户的此类问题将从更详细的答案中受益。我现在有一些,所以想回答我自己的问题。
阅读这些问题和答案:
给我带来了另一个会给该命令的新用户带来问题的问题:
pkexec方便使用?例如,在执行以下操作时:
(在终端中打开文件)
pkexec nano /etc/mysql/my.cnf
Run Code Online (Sandbox Code Playgroud)
(在 GUI 中打开文件)
pkexec gedit /etc/mysql/my.cnf
Run Code Online (Sandbox Code Playgroud)
最后一个得到以下错误:
pkexec must be setuid root
Run Code Online (Sandbox Code Playgroud)
现在这给我带来了以下问题:
如何配置pkexec以避免得到这个?类似于如何sudo/gksu做同样的事情时的行为(他们只要求输入密码)。
如果适用,如何告诉它在第一次将其应用于命令(或如果可配置的情况下包括第一个命令)后不要求输入密码?
如果配置文件不存在,在哪里保存?
是否有用于配置pkexec使用情况的 GUI 应用程序(策略工具包)?
我写了一个建议使用sudo -i nautilus. 我知道这gksu已被弃用,我的印象sudo -i是我们应该如何以 root 身份运行图形应用程序而不杀死小猫,但有人评论说“pkexec是新的gksu”。我的理解是这pkexec与使用任何形式的不同sudo:
并且需要设置,尤其是与图形应用程序一起使用时:
当我做的sudo -i一切总是有效的时候,为什么我要去配置的麻烦pkexec?我可以看到,为了编写一个以 root 身份启动某些内容的脚本,我需要这样做:
我可以在 Python 脚本或 .desktop 文件中使用 pkexec 吗?
但除此之外,我从使用中获得什么pkexec?我应该什么时候使用这些命令?目前以 root 身份打开图形应用程序的最佳实践是什么?
(我已经阅读了......man页面,但我感觉没有更明智。)
sudo ×6
gksu ×3
root ×3
gksudo ×2
gui ×2
pkexec ×2
security ×2
13.10 ×1
command-line ×1
nautilus ×1
permissions ×1
policykit ×1
text-editor ×1